self-serve DG for Casablanca
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
index 232d0c5..8c1d216 100755 (executable)
                                             </set>\r
                                         </outcome>\r
                                     </switch>\r
-                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
-                                        <parameter name='filename' value='/var/tmp/bgb-vnf.log' />\r
-                                    </execute>\r
                                     <set>\r
                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\r
    value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
                                         <parameter name='network-index' value='0' />\r
                                     </set>\r
                                     <for index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>\r
-                                        <block atomic="true">\r
-                                            <set>\r
-                                                <parameter name='aai.l3-network.' value='' />\r
-                                            </set>\r
-                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+                                        <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\r
+                                            <outcome value=''>\r
+                                                <block></block>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <block atomic="true">\r
+                                                    <set>\r
+                                                        <parameter name='aai.l3-network.' value='' />\r
+                                                    </set>\r
+                                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
                resource="l3-networks" \r
                key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"\r
         pfx='aai.l3-network' local-only='false'\r
 >\r
-                                                <outcome value='not-found'>\r
-                                                    <block>\r
-                                                        <block atomic="true">\r
-                                                            <set>\r
-                                                                <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
-                                                                <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
-                                                                <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
-                                                            </set>\r
-                                                            <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
-                                                        </block>\r
-                                                        <return status='failure'>\r
-                                                            <parameter name='ack-final' value='Y'/>\r
-                                                            <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '\r
+                                                        <outcome value='not-found'>\r
+                                                            <block>\r
+                                                                <block atomic="true">\r
+                                                                    <set>\r
+                                                                        <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                    </set>\r
+                                                                    <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='ack-final' value='Y'/>\r
+                                                                    <parameter name="error-code" value="500" />\r
+                                                                    <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '\r
           + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '\r
           + $db.vf-network-role-mapping[$network-index].network-role`" />\r
-                                                        </return>\r
-                                                    </block>\r
-                                                </outcome>\r
-                                                <outcome value='failure'>\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='failure'>\r
+                                                            <block>\r
+                                                                <block atomic="true">\r
+                                                                    <set>\r
+                                                                        <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                    </set>\r
+                                                                    <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='ack-final' value='Y'/>\r
+                                                                    <parameter name="error-code" value="500" />\r
+                                                                    <parameter name="error-message" value="Error retrieving l3-network from AAI" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </get-resource>\r
+                                                    <set>\r
+                                                        <parameter name='l3-network-id' value='-1' />\r
+                                                    </set>\r
                                                     <block>\r
-                                                        <block atomic="true">\r
-                                                            <set>\r
-                                                                <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
-                                                                <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
-                                                                <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
-                                                            </set>\r
-                                                            <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
-                                                        </block>\r
-                                                        <return status='failure'>\r
-                                                            <parameter name='ack-final' value='Y'/>\r
-                                                            <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="Error retrieving l3-network from AAI" />\r
-                                                        </return>\r
-                                                    </block>\r
-                                                </outcome>\r
-                                            </get-resource>\r
-                                            <set>\r
-                                                <parameter name='l3-network-id' value='-1' />\r
-                                            </set>\r
-                                            <block>\r
-                                                <set>\r
-                                                    <parameter name='found-network' value='false' />\r
-                                                </set>\r
-                                                <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\r
-                                                    <block atomic="true">\r
-                                                        <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\r
-                                                            <outcome value='PendingCreate'>\r
-                                                                <block></block>\r
-                                                            </outcome>\r
-                                                            <outcome value='Pending Create'>\r
-                                                                <block></block>\r
-                                                            </outcome>\r
-                                                            <outcome value='PendingDelete'>\r
-                                                                <block></block>\r
-                                                            </outcome>\r
-                                                            <outcome value='Pending Delete'>\r
-                                                                <block></block>\r
-                                                            </outcome>\r
-                                                            <outcome value='Other'>\r
-                                                                <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\r
-                                                                    <block atomic="true">\r
-                                                                        <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\r
-                                                                            <outcome value='cloud-region'>\r
-                                                                                <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
-                                                                                    <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
-                                                                                        <outcome value='cloud-region.cloud-region-id'>\r
-                                                                                            <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\r
-                                                                                                <outcome value='true'>\r
-                                                                                                    <block atomic="true">\r
-                                                                                                        <set>\r
-                                                                                                            <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
-                                                                                                        </set>\r
-                                                                                                        <set>\r
-                                                                                                            <parameter name='found-network' value='true' />\r
-                                                                                                        </set>\r
-                                                                                                        <break/>\r
-                                                                                                    </block>\r
+                                                        <set>\r
+                                                            <parameter name='found-network' value='false' />\r
+                                                        </set>\r
+                                                        <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\r
+                                                            <block atomic="true">\r
+                                                                <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\r
+                                                                    <outcome value='PendingCreate'>\r
+                                                                        <block></block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='Pending Create'>\r
+                                                                        <block></block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='PendingDelete'>\r
+                                                                        <block></block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='Pending Delete'>\r
+                                                                        <block></block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='Other'>\r
+                                                                        <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\r
+                                                                            <block atomic="true">\r
+                                                                                <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\r
+                                                                                    <outcome value='service-instance'>\r
+                                                                                        <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
+                                                                                            <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
+                                                                                                <outcome value='service-instance.service-instance-id'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='network-service-instance-id'\r
+  value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\r
+                                                                                                    </set>\r
                                                                                                 </outcome>\r
                                                                                             </switch>\r
-                                                                                        </outcome>\r
-                                                                                    </switch>\r
-                                                                                </for>\r
-                                                                            </outcome>\r
-                                                                        </switch>\r
-                                                                        <switch test='`$found-network`'>\r
-                                                                            <outcome value='true'>\r
-                                                                                <break/>\r
-                                                                            </outcome>\r
-                                                                        </switch>\r
-                                                                    </block>\r
-                                                                </for>\r
-                                                            </outcome>\r
-                                                        </switch>\r
-                                                        <switch test='`$found-network`'>\r
-                                                            <outcome value='true'>\r
-                                                                <break/>\r
-                                                            </outcome>\r
-                                                        </switch>\r
-                                                    </block>\r
-                                                </for>\r
-                                            </block>\r
-                                            <switch test='`$l3-network-id`'>\r
-                                                <outcome value='-1'>\r
-                                                    <block>\r
-                                                        <block atomic="true">\r
-                                                            <set>\r
-                                                                <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
-                                                                <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
-                                                                <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
-                                                            </set>\r
-                                                            <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
-                                                        </block>\r
-                                                        <return status='failure'>\r
-                                                            <parameter name='ack-final' value='Y'/>\r
-                                                            <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />\r
-                                                        </return>\r
+                                                                                        </for>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='cloud-region'>\r
+                                                                                        <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
+                                                                                            <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
+                                                                                                <outcome value='cloud-region.cloud-region-id'>\r
+                                                                                                    <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\r
+                                                                                                        <outcome value='true'>\r
+                                                                                                            <block atomic="true">\r
+                                                                                                                <set>\r
+                                                                                                                    <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
+                                                                                                                </set>\r
+                                                                                                                <set>\r
+                                                                                                                    <parameter name='found-network' value='true' />\r
+                                                                                                                </set>\r
+                                                                                                                <break/>\r
+                                                                                                            </block>\r
+                                                                                                        </outcome>\r
+                                                                                                    </switch>\r
+                                                                                                </outcome>\r
+                                                                                            </switch>\r
+                                                                                        </for>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                                <switch test='`$found-network`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <break/>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </for>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                                <switch test='`$found-network`'>\r
+                                                                    <outcome value='true'>\r
+                                                                        <break/>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                        </for>\r
                                                     </block>\r
-                                                </outcome>\r
-                                            </switch>\r
-                                            <set>\r
-                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\r
+                                                    <switch test='`$l3-network-id`'>\r
+                                                        <outcome value='-1'>\r
+                                                            <block>\r
+                                                                <block atomic="true">\r
+                                                                    <set>\r
+                                                                        <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                    </set>\r
+                                                                    <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='ack-final' value='Y'/>\r
+                                                                    <parameter name="error-code" value="500" />\r
+                                                                    <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <set>\r
+                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\r
     value='`$db.vf-network-role-mapping[$role-index].network-role`' />\r
-                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\r
+                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\r
     value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\r
-                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\r
+                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\r
     value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\r
-                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\r
+                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\r
     value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
-                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\r
+                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\r
     value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\r
-                                            </set>\r
-                                            <switch test='`$aai.l3-network.l3-network[0].subnets.subnet_length`'>\r
-                                                <outcome value=''>\r
-                                                    <set>\r
-                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
-   value='0' />\r
                                                     </set>\r
-                                                </outcome>\r
-                                                <outcome value='0'>\r
-                                                    <set>\r
-                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
+                                                    <switch test='`$aai.l3-network.l3-network[0].subnets.subnet_length`'>\r
+                                                        <outcome value=''>\r
+                                                            <set>\r
+                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
    value='0' />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='Other'>\r
-                                                    <block>\r
-                                                        <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[0].subnets.subnet_length`' >\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='0'>\r
+                                                            <set>\r
+                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
+   value='0' />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
                                                             <block>\r
-                                                                <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\r
-                                                                    <outcome value=''>\r
-                                                                        <set>\r
-                                                                            <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\r
-                                                                        </set>\r
-                                                                    </outcome>\r
-                                                                </switch>\r
-                                                                <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\r
-                                                                    <outcome value='4'>\r
-                                                                        <set>\r
-                                                                            <parameter name='tmp.ip-version' value='ipv4' />\r
-                                                                        </set>\r
-                                                                    </outcome>\r
-                                                                    <outcome value='6'>\r
+                                                                <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[0].subnets.subnet_length`' >\r
+                                                                    <block>\r
+                                                                        <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\r
+                                                                            <outcome value=''>\r
+                                                                                <set>\r
+                                                                                    <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                        <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\r
+                                                                            <outcome value='4'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='tmp.ip-version' value='ipv4' />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='6'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='tmp.ip-version' value='ipv6' />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
                                                                         <set>\r
-                                                                            <parameter name='tmp.ip-version' value='ipv6' />\r
-                                                                        </set>\r
-                                                                    </outcome>\r
-                                                                </switch>\r
-                                                                <set>\r
-                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\r
    value='`$tmp.ip-version`' />\r
-                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\r
    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\r
-                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\r
    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\r
-                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\r
    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\r
-                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\r
    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\r
-                                                                </set>\r
-                                                                <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\r
-                                                                    <outcome value='true'>\r
-                                                                        <set>\r
-                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
-   value='Y' />\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\r
+   value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\r
+   value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\r
+   value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\r
                                                                         </set>\r
+                                                                        <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\r
+                                                                            <outcome value='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
+   value='Y' />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='false'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
+   value='N' />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                </for>\r
+                                                                <set>\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
+   value='`$aai.l3-network.l3-network[0].subnets.subnet_length`' />\r
+                                                                </set>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\r
+    and network_role = $db.vf-network-role-mapping[$role-index].network-role'\r
+  pfx='db.vnf-related-network-role[]'>\r
+                                                        <outcome value='failure'>\r
+                                                            <block>\r
+                                                                <block atomic="true">\r
+                                                                    <set>\r
+                                                                        <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                        <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                    </set>\r
+                                                                    <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='ack-final' value='Y'/>\r
+                                                                    <parameter name="error-code" value="500" />\r
+                                                                    <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <block atomic="true">\r
+                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                                                                    <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>\r
+                                                                    <parameter name="outputPath" value="tmp.part"/>\r
+                                                                    <parameter name="target" value="{service-instance-id}"/>\r
+                                                                    <parameter name="replacement" value="`$network-service-instance-id`"/>\r
+                                                                </execute>\r
+                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                                                                    <parameter name="source" value="`$tmp.part`"/>\r
+                                                                    <parameter name="outputPath" value="tmp.ntis-url"/>\r
+                                                                    <parameter name="target" value="{network-id}"/>\r
+                                                                    <parameter name="replacement" value="`$l3-network-id`"/>\r
+                                                                </execute>\r
+                                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                                                    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\r
+                                                                    <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+                                                                    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+                                                                    <parameter name='format' value='json' />\r
+                                                                    <parameter name='httpMethod' value='GET' />\r
+                                                                    <parameter name="responsePrefix" value="mdsal-ntis" />\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block>\r
+                                                                            <block atomic="true">\r
+                                                                                <set>\r
+                                                                                    <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                                    <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                                    <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                                </set>\r
+                                                                                <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                            </block>\r
+                                                                            <return status='failure'>\r
+                                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                                <parameter name="error-code" value="500" />\r
+                                                                                <parameter name="error-message" value="`\r
+    'Error retrieving network-topology-identifier-structure for service instance '\r
+    + $network-service-instance-id\r
+    + ' and network-id '\r
+    + $l3-network-id`" />\r
+                                                                            </return>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </execute>\r
+                                                                <set>\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\r
+    value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\r
+    value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\r
+                                                                </set>\r
+                                                                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+      resource="custom-query"\r
+      key="format = 'resource'"\r
+      force="true"\r
+      local-only="false"\r
+      pfx="tmp.AnAI-data.oe">\r
+                                                                    <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />\r
+                                                                    <parameter name="start_length" value="1" />\r
+                                                                    <parameter name="query" value="/query/owning-entity-fromService-instance" />\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block>\r
+                                                                            <block atomic="true">\r
+                                                                                <set>\r
+                                                                                    <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                                    <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                                    <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                                </set>\r
+                                                                                <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                            </block>\r
+                                                                            <return status='failure'>\r
+                                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                                <parameter name="error-code" value="500" />\r
+                                                                                <parameter name="error-message" value="Error getting owning entity from service instance" />\r
+                                                                            </return>\r
+                                                                        </block>\r
                                                                     </outcome>\r
-                                                                    <outcome value='false'>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <block>\r
+                                                                            <block atomic="true">\r
+                                                                                <set>\r
+                                                                                    <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                                    <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                                    <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                                </set>\r
+                                                                                <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                            </block>\r
+                                                                            <return status='failure'>\r
+                                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                                <parameter name="error-code" value="500" />\r
+                                                                                <parameter name="error-message" value="Unable to find owning entity from service instance" />\r
+                                                                            </return>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </save>\r
+                                                                <set>\r
+                                                                    <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\r
+                                                                </set>\r
+                                                                <switch test='`$rn-index`'>\r
+                                                                    <outcome value=''>\r
                                                                         <set>\r
-                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
-   value='N' />\r
+                                                                            <parameter name='rn-index' value='0' />\r
                                                                         </set>\r
                                                                     </outcome>\r
                                                                 </switch>\r
+                                                                <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\r
+                                                                    <block atomic="true">\r
+                                                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+      resource="custom-query"\r
+      key="format = 'resource'"\r
+      force="true"\r
+      local-only="false"\r
+      pfx="tmp.AnAI-data.get-networks">\r
+                                                                            <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />\r
+                                                                            <parameter name="start_length" value="1" />\r
+                                                                            <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\r
+  + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block>\r
+                                                                                    <block atomic="true">\r
+                                                                                        <set>\r
+                                                                                            <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                                            <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                                            <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                                        </set>\r
+                                                                                        <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                                    </block>\r
+                                                                                    <return status='failure'>\r
+                                                                                        <parameter name='ack-final' value='Y'/>\r
+                                                                                        <parameter name="error-code" value="500" />\r
+                                                                                        <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />\r
+                                                                                    </return>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <block>\r
+                                                                                    <block atomic="true">\r
+                                                                                        <set>\r
+                                                                                            <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                                            <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                                            <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                                        </set>\r
+                                                                                        <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                                    </block>\r
+                                                                                    <return status='failure'>\r
+                                                                                        <parameter name='ack-final' value='Y'/>\r
+                                                                                        <parameter name="error-code" value="500" />\r
+                                                                                        <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '\r
+      + $db.vnf-related-network-role[0].related-network-role`" />\r
+                                                                                    </return>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </save>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\r
+  value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\r
+  value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\r
+                                                                        </set>\r
+                                                                        <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\r
+                                                                            <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\r
+                                                                                <outcome value='vlan-tag'>\r
+                                                                                    <block atomic="true">\r
+                                                                                        <set>\r
+                                                                                            <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\r
+                                                                                        </set>\r
+                                                                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="vlan-tag" \r
+               key="vlan-tag.vlan-tag-id = $vlan-tag-id"\r
+        pfx='aai.vlan-tag' local-only='false'\r
+>\r
+                                                                                            <outcome value='failure'>\r
+                                                                                                <block>\r
+                                                                                                    <block atomic="true">\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+                                                                                                            <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+                                                                                                            <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+                                                                                                        </set>\r
+                                                                                                        <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+                                                                                                    </block>\r
+                                                                                                    <return status='failure'>\r
+                                                                                                        <parameter name='ack-final' value='Y'/>\r
+                                                                                                        <parameter name="error-code" value="500" />\r
+                                                                                                        <parameter name="error-message" value="Error getting vlan-tag object from AAI" />\r
+                                                                                                    </return>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                            <outcome value='success'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\r
+  value='`$aai.vlan-tag.vlan-tag-id`' />\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\r
+  value='`$aai.vlan-tag.vlan-id-outer`' />\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\r
+  value='`$aai.vlan-tag.vlan-id-inner`' />\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\r
+  value='`$aai.vlan-tag.is-private`' />\r
+                                                                                                </set>\r
+                                                                                            </outcome>\r
+                                                                                        </get-resource>\r
+                                                                                        <break/>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </for>\r
+                                                                    </block>\r
+                                                                </for>\r
+                                                                <set>\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\r
+  value='`$rn-index + 1`' />\r
+                                                                </set>\r
                                                             </block>\r
-                                                        </for>\r
-                                                        <set>\r
-                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
-   value='`$aai.l3-network.l3-network[0].subnets.subnet_length`' />\r
-                                                        </set>\r
-                                                    </block>\r
-                                                </outcome>\r
-                                            </switch>\r
-                                            <set>\r
-                                                <parameter name='network-index' value='`$network-index + 1`' />\r
-                                            </set>\r
-                                        </block>\r
+                                                        </outcome>\r
+                                                    </get-resource>\r
+                                                    <set>\r
+                                                        <parameter name='network-index' value='`$network-index + 1`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </switch>\r
                                     </for>\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
+                                        <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\r
+                                    </execute>\r
                                     <set>\r
                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\r
   value='`$network-index`' />\r
  + $vnf-topology-operation-input.service-information.service-instance-id\r
  + '/service-data/vnfs/vnf/'\r
  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
- + '/vnf-data/vnf-topology'`"/>\r
+ + '/vnf-data/vnf-topology/'`"/>\r
+                                        <parameter name='service-object-path'\r
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
+ + $vnf-topology-operation-input.service-information.service-instance-id\r
+ + '/service-data/service-topology/'`"/>\r
                                     </set>\r
                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
    resource="generic-vnf"\r
                                         <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />\r
                                         <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />\r
                                         <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />\r
+                                        <parameter name="in-maint" value="true" />\r
                                         <parameter name="selflink" value="`$vnf-object-path`" />\r
                                         <outcome value='failure'>\r
                                             <block>\r
                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
                                     </set>\r
                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
-                                        <parameter name='filename' value='/var/tmp/bgb-viprend.log' />\r
+                                        <parameter name='filename' value='/var/tmp/bgb-vnf.log' />\r
                                     </execute>\r
                                     <return status='success'>\r
                                         <parameter name="ack-final-indicator" value="Y" />\r