aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/vnfapi/src/main/xml
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/vnfapi/src/main/xml')
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_generate-l3network-network-id.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_generate-subnets-subnet-id.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-changeassign.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-delete.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-operation.xml179
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-rollback.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_preload-network-topology-operation.xml75
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_preload-vf-module-topology-operation.xml94
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-instance-topology-operation.xml94
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-topology-operation.xml119
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_rollback-eipam-ip-assignment.xml22
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-activate.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign-vnf-networks.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-changeassign.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-delete.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-operation.xml138
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-rollback.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-activate.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign-vnf-networks.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-changeassign.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-delete.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-operation.xml91
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-rollback.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-activate.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign-vfmodule.xml2
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign.xml127
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign-vfmodule.xml344
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign.xml57
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-delete.xml13
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-operation.xml41
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-rollback.xml12
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changeassign.xml181
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changedelete.xml83
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-delete.xml49
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml126
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-preload-operation.xml86
-rw-r--r--platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-rollback.xml45
40 files changed, 1061 insertions, 955 deletions
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_generate-l3network-network-id.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_generate-l3network-network-id.xml
index 027c29db..a08a7a26 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_generate-l3network-network-id.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_generate-l3network-network-id.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_generate-subnets-subnet-id.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_generate-subnets-subnet-id.xml
index dc8e4392..5903707d 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_generate-subnets-subnet-id.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_generate-subnets-subnet-id.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml
index b9e37ffb..5e787c7c 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-changeassign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-changeassign.xml
index acad7356..006c65d6 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-changeassign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-changeassign.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-delete.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-delete.xml
index 54751599..fd31513d 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-delete.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-delete.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-operation.xml
index 4edb5186..9f66d1db 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-operation.xml
@@ -1,109 +1,70 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="network-topology-operation" mode="sync"><block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="network-topology-operation"/>
-<parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$network-topology-operation-input.service-information.service-id`"/>
-<parameter name="field6" value="`$network-topology-operation-input.service-information.service-type`"/>
-<parameter name="field7" value="`$network-topology-operation-input.service-information.subscriber-name`"/>
-<parameter name="field8" value="`$network-topology-operation-input.service-information.service-instance-id`"/>
-<parameter name="field9" value="`$network-topology-operation-input.request-information.request-id`"/>
-<parameter name="field10" value="`$network-topology-operation-input.request-information.request-action`"/>
-<parameter name="field11" value="`$network-topology-operation-input.request-information.source`"/>
-<parameter name="field12" value="`$network-topology-operation-input.network-request-information.network-name`"/>
-<parameter name="field13" value="`$network-topology-operation-input.network-request-information.network-type`"/>
-<parameter name="field14" value="`$network-topology-operation-input.network-request-information.tenant`"/>
-<parameter name="field15" value="`$network-topology-operation-input.network-request-information.aic-cloud-region`"/>
-<parameter name="field16" value="`$network-topology-operation-input.network-request-information.aic-clli`"/>
-<parameter name="field17" value="`$network-topology-operation-input.network-request-information.network-id`"/></record><switch test="`$network-topology-operation-input.request-information.request-action`">
-<outcome value='NetworkActivateRequest'><block atomic="true">
-<switch test="`$network-topology-operation-input.network-request-information.network-name`"><outcome value='Other'><switch test="`$preload-data.network-topology-information.network-topology-identifier.network-name`"><outcome value='Other'><switch test="`$network-topology-operation-input.network-request-information.network-name == $preload-data.network-topology-information.network-topology-identifier.network-name`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value="`'No preload-data found to match input network-name = ' + $network-topology-operation-input.network-request-information.network-name`"/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='network-name not found from preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='network-name is required from input'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.network-type`"><outcome value='Other'><switch test="`$preload-data.network-topology-information.network-topology-identifier.network-type`"><outcome value='Other'><switch test="`$network-topology-operation-input.network-request-information.network-type == $preload-data.network-topology-information.network-topology-identifier.network-type`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value="`'No preload-data found to match input network-type = ' + $network-topology-operation-input.network-request-information.network-type`"/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='network-type not found from preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='network-type is required from input'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.service-instance-id`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='service-instance-id is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='aic-cloud-region is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.tenant`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='tenant is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.service-id`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='service-id is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
-<!--
-leaf svc-action {
- type enumeration {
- enum "reserve";
- enum "assign";
- enum "activate"; // equal to commit
- enum "delete"; // equal to commit
- enum "changeassign";
- enum "changedelete";
- enum "rollback";
- }
-}
--->
-
-<outcome value='Other'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='svc-action is not found'/></return></outcome><outcome value='assign'><call module="VNF-API" rpc="network-topology-assign" mode="sync" >
-</call></outcome><outcome value='changeassign'><call module="VNF-API" rpc="network-topology-changeassign" mode="sync" >
-</call></outcome><outcome value='rollback'><call module="VNF-API" rpc="network-topology-rollback" mode="sync" >
-</call></outcome></switch></block></outcome><outcome value='DisconnectNetworkRequest'><switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
-<!--
-leaf svc-action {
- type enumeration {
- enum "reserve";
- enum "assign";
- enum "activate"; // equal to commit
- enum "delete"; // equal to commit
- enum "changeassign";
- enum "changedelete";
- enum "rollback";
- }
-}
--->
-
-<outcome value='rollback'><call module="VNF-API" rpc="network-topology-rollback" mode="sync" >
-</call></outcome><outcome value='delete'><call module="VNF-API" rpc="network-topology-delete" mode="sync" >
-</call></outcome><outcome value='Other'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='svc-action is not found'/></return></outcome></switch></outcome><outcome value="Other">
-
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='request-action is not found'/></return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc="network-topology-operation" mode="sync"><block atomic="true"><switch test="`$network-topology-operation-input.request-information.request-action`">
+<outcome value='NetworkActivateRequest'><block atomic="true">
+<switch test="`$network-topology-operation-input.network-request-information.network-name`"><outcome value='Other'><switch test="`$preload-data.network-topology-information.network-topology-identifier.network-name`"><outcome value='Other'><switch test="`$network-topology-operation-input.network-request-information.network-name == $preload-data.network-topology-information.network-topology-identifier.network-name`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value="`'No preload-data found to match input network-name = ' + $network-topology-operation-input.network-request-information.network-name`"/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='network-name not found from preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='network-name is required from input'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.network-type`"><outcome value='Other'><switch test="`$preload-data.network-topology-information.network-topology-identifier.network-type`"><outcome value='Other'><switch test="`$network-topology-operation-input.network-request-information.network-type == $preload-data.network-topology-information.network-topology-identifier.network-type`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value="`'No preload-data found to match input network-type = ' + $network-topology-operation-input.network-request-information.network-type`"/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='network-type not found from preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='network-type is required from input'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.service-instance-id`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='service-instance-id is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='aic-cloud-region is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.tenant`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='tenant is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.service-id`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='service-id is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+ type enumeration {
+ enum "reserve";
+ enum "assign";
+ enum "activate"; // equal to commit
+ enum "delete"; // equal to commit
+ enum "changeassign";
+ enum "changedelete";
+ enum "rollback";
+ }
+}
+-->
+
+<outcome value='Other'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='svc-action is not found'/></return></outcome><outcome value='assign'><call module="VNF-API" rpc="network-topology-assign" mode="sync" >
+</call></outcome><outcome value='changeassign'><call module="VNF-API" rpc="network-topology-changeassign" mode="sync" >
+</call></outcome><outcome value='rollback'><call module="VNF-API" rpc="network-topology-rollback" mode="sync" >
+</call></outcome></switch></block></outcome><outcome value='DisconnectNetworkRequest'><switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+ type enumeration {
+ enum "reserve";
+ enum "assign";
+ enum "activate"; // equal to commit
+ enum "delete"; // equal to commit
+ enum "changeassign";
+ enum "changedelete";
+ enum "rollback";
+ }
+}
+-->
+
+<outcome value='rollback'><call module="VNF-API" rpc="network-topology-rollback" mode="sync" >
+</call></outcome><outcome value='delete'><call module="VNF-API" rpc="network-topology-delete" mode="sync" >
+</call></outcome><outcome value='Other'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='svc-action is not found'/></return></outcome></switch></outcome><outcome value="Other">
+
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='request-action is not found'/></return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-rollback.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-rollback.xml
index 8301b210..83c181a9 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-rollback.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-rollback.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-network-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-network-topology-operation.xml
index 87d5ac3f..25da4eec 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-network-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-network-topology-operation.xml
@@ -1,55 +1,20 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="preload-network-topology-operation" mode="sync"><block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="preload-network-topology-operation"/>
-<parameter name="field3" value="`$preload-network-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$preload-network-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$preload-network-topology-operation-input.service-information.service-instance-id`"/>
-<parameter name="field6" value="`$preload-network-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$preload-network-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$preload-network-topology-operation-input.request-information.source`"/>
-<parameter name="field9" value="`$preload-network-topology-operation-input.network-topology-information.network-topology-identifier.service-type`"/>
-<parameter name="field10" value="`$preload-network-topology-operation-input.network-topology-information.network-topology-identifier.network-name`"/>
-<parameter name="field11" value="`$preload-network-topology-operation-input.network-topology-information.network-topology-identifier.network-type`"/>
-<parameter name="field12" value="`$preload-network-topology-operation-input.network-topology-information.network-topology-identifier.network-role`"/>
-<parameter name="field13" value="`$preload-network-topology-operation-input.network-topology-information.network-topology-identifier.network-technology`"/></record><switch test="`$preload-network-topology-operation-input.request-information.request-action`">
-<outcome value='PreloadNetworkRequest'><block atomic="true"><set>
-<parameter name="preload-data." value="" />
-</set><set>
-<parameter name="preload-data." value="preload-network-topology-operation-input." />
-</set><set>
- <parameter name="preload-data.oper-status.order-status" value="PendingAssignment"/></set><set>
-<parameter name="ack-final" value="Y"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></outcome><outcome value='DeletePreloadNetworkRequest'><block atomic="true"><set>
-<parameter name="preload-data." value="" />
-</set><set>
-<parameter name="ack-final" value="Y"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></outcome><outcome value="Other">
-
- <return status="failure">
- <parameter name='error-code' value='2000'/>
- <parameter name='error-message' value='Invalid Request `$preload-network-topology-operation-input.request-information.request-action`'/>
-
-
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc="preload-network-topology-operation" mode="sync"><block atomic="true"><switch test="`$preload-network-topology-operation-input.request-information.request-action`">
+<outcome value='PreloadNetworkRequest'><block atomic="true"><set>
+<parameter name="preload-data." value="" />
+</set><set>
+<parameter name="preload-data." value="preload-network-topology-operation-input." />
+</set><set>
+ <parameter name="preload-data.oper-status.order-status" value="PendingAssignment"/></set><set>
+<parameter name="ack-final" value="Y"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></outcome><outcome value='DeletePreloadNetworkRequest'><block atomic="true"><set>
+<parameter name="preload-data." value="" />
+</set><set>
+<parameter name="ack-final" value="Y"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></outcome><outcome value="Other">
+
+ <return status="failure">
+ <parameter name='error-code' value='2000'/>
+ <parameter name='error-message' value='Invalid Request `$preload-network-topology-operation-input.request-information.request-action`'/>
+
+
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vf-module-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vf-module-topology-operation.xml
index 699ccac7..33cc67a3 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vf-module-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vf-module-topology-operation.xml
@@ -1,63 +1,31 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="preload-vf-module-topology-operation" mode="sync"><block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="preload-vf-module-topology-operation"/>
-<parameter name="field3" value="`$preload-vf-module-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$preload-vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$preload-vf-module-topology-operation-input.request-information.source`"/>
-<parameter name="field6" value="`$preload-vf-module-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$preload-vf-module-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$preload-vf-module-topology-operation-input.vf-module-topology-information.vf-module-identifiers.vf-module-model-id`"/>
-<parameter name="field9" value="`$preload-vf-module-topology-operation-input.vf-module-topology-information.vf-module-identifiers.vf-module-name`"/>
-<parameter name="field10" value="`$preload-vf-module-topology-operation-input.service-information.service-instance-id`"/></record><switch test="`$preload-vf-module-topology-operation-input.request-information.request-action`">
-
-<outcome value='PreloadVfModuleRequest'><block atomic="true"><get-resource plugin="org.openecomp.sdnc.sli.resource.sql.SqlResource"
- resource="vnf-profile" key="SELECT * from VNF_PROFILE where vnf_type = $preload-vf-module-topology-operation-input.vf-module-topology-information.vf-module-identifiers.vf-module-model-id">
-<outcome value='not-found'>
-<return status='failure'>
- <parameter name="error-code" value="404" />
- <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome><outcome value='failure'>
-<return status='failure'>
- <parameter name="error-code" value="404" />
- <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome></get-resource><set>
-<parameter name="vf-module-preload-data." value="" />
-</set><set>
-<parameter name="vf-module-preload-data." value="preload-vf-module-topology-operation-input." />
-</set><set>
- <parameter name="vf-module-preload-data.oper-status.order-status" value="PendingAssignment"/></set><block>
-<set>
-<parameter name="ack-final" value="Y"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value='DeletePreloadVfModuleRequest'><block atomic="true"><set>
-<parameter name="vf-module-preload-data." value="" />
-</set><block>
-<set>
-<parameter name="ack-final" value="Y"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value="Other">
-
- <return status="failure">
- <parameter name='error-code' value='2000'/>
- <parameter name='error-message' value="`'Invalid Request, ' + $preload-vf-module-topology-operation-input.request-information.request-action`"/>
-
-
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc="preload-vf-module-topology-operation" mode="sync"><block atomic="true"><switch test="`$preload-vf-module-topology-operation-input.request-information.request-action`">
+
+<outcome value='PreloadVfModuleRequest'><block atomic="true"><get-resource plugin="org.openecomp.sdnc.sli.resource.sql.SqlResource"
+ resource="vnf-profile" key="SELECT * from VNF_PROFILE where vnf_type = $preload-vf-module-topology-operation-input.vf-module-topology-information.vf-module-identifiers.vf-module-model-id">
+<outcome value='not-found'>
+<return status='failure'>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome><outcome value='failure'>
+<return status='failure'>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome></get-resource><set>
+<parameter name="vf-module-preload-data." value="" />
+</set><set>
+<parameter name="vf-module-preload-data." value="preload-vf-module-topology-operation-input." />
+</set><set>
+ <parameter name="vf-module-preload-data.oper-status.order-status" value="PendingAssignment"/></set><block>
+<set>
+<parameter name="ack-final" value="Y"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value='DeletePreloadVfModuleRequest'><block atomic="true"><set>
+<parameter name="vf-module-preload-data." value="" />
+</set><block>
+<set>
+<parameter name="ack-final" value="Y"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value="Other">
+
+ <return status="failure">
+ <parameter name='error-code' value='2000'/>
+ <parameter name='error-message' value="`'Invalid Request, ' + $preload-vf-module-topology-operation-input.request-information.request-action`"/>
+
+
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-instance-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-instance-topology-operation.xml
index efd277b6..c1718dce 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-instance-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-instance-topology-operation.xml
@@ -1,63 +1,31 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="preload-vnf-instance-topology-operation" mode="sync"><block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="preload-vnf-instance-topology-operation"/>
-<parameter name="field3" value="`$preload-vnf-instance-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$preload-vnf-instance-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$preload-vnf-instance-topology-operation-input.request-information.source`"/>
-<parameter name="field6" value="`$preload-vnf-instance-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$preload-vnf-instance-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$preload-vnf-instance-topology-operation-input.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id`"/>
-<parameter name="field9" value="`$preload-vnf-instance-topology-operation-input.vnf-instance-topology-information.vnf-instance-identifiers.vnf-instance-name`"/>
-<parameter name="field10" value="`$preload-vnf-instance-topology-operation-input.service-information.service-instance-id`"/></record><switch test="`$preload-vnf-instance-topology-operation-input.request-information.request-action`">
-
-<outcome value='PreloadVnfInstanceRequest'><block atomic="true"><get-resource plugin="org.openecomp.sdnc.sli.resource.sql.SqlResource"
- resource="vnf-profile" key="SELECT * from VNF_PROFILE where vnf_type = $preload-vnf-instance-topology-operation-input.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id">
-<outcome value='not-found'>
-<return status='failure'>
- <parameter name="error-code" value="404" />
- <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome><outcome value='failure'>
-<return status='failure'>
- <parameter name="error-code" value="404" />
- <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome></get-resource><set>
-<parameter name="vnf-instance-preload-data." value="" />
-</set><set>
-<parameter name="vnf-instance-preload-data." value="preload-vnf-instance-topology-operation-input." />
-</set><set>
- <parameter name="vnf-instance-preload-data.oper-status.order-status" value="PendingAssignment"/></set><block>
-<set>
-<parameter name="ack-final" value="Y"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value='DeletePreloadVnfInstanceRequest'><block atomic="true"><set>
-<parameter name="vnf-instance-preload-data." value="" />
-</set><block>
-<set>
-<parameter name="ack-final" value="Y"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value="Other">
-
- <return status="failure">
- <parameter name='error-code' value='2000'/>
- <parameter name='error-message' value='Invalid Request `$preload-vnf-instance-topology-operation-input.request-information.request-action`'/>
-
-
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc="preload-vnf-instance-topology-operation" mode="sync"><block atomic="true"><switch test="`$preload-vnf-instance-topology-operation-input.request-information.request-action`">
+
+<outcome value='PreloadVnfInstanceRequest'><block atomic="true"><get-resource plugin="org.openecomp.sdnc.sli.resource.sql.SqlResource"
+ resource="vnf-profile" key="SELECT * from VNF_PROFILE where vnf_type = $preload-vnf-instance-topology-operation-input.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id">
+<outcome value='not-found'>
+<return status='failure'>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome><outcome value='failure'>
+<return status='failure'>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="preload vnf-model-id not found. New vnf-model-id can be added via admin portal" /></return></outcome></get-resource><set>
+<parameter name="vnf-instance-preload-data." value="" />
+</set><set>
+<parameter name="vnf-instance-preload-data." value="preload-vnf-instance-topology-operation-input." />
+</set><set>
+ <parameter name="vnf-instance-preload-data.oper-status.order-status" value="PendingAssignment"/></set><block>
+<set>
+<parameter name="ack-final" value="Y"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value='DeletePreloadVnfInstanceRequest'><block atomic="true"><set>
+<parameter name="vnf-instance-preload-data." value="" />
+</set><block>
+<set>
+<parameter name="ack-final" value="Y"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></block></outcome><outcome value="Other">
+
+ <return status="failure">
+ <parameter name='error-code' value='2000'/>
+ <parameter name='error-message' value='Invalid Request `$preload-vnf-instance-topology-operation-input.request-information.request-action`'/>
+
+
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-topology-operation.xml
index 387961f3..f0ae90dc 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-topology-operation.xml
@@ -1,76 +1,43 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="preload-vnf-topology-operation" mode="sync"><block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="preload-vnf-topology-operation"/>
-<parameter name="field3" value="`$preload-vnf-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$preload-vnf-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$preload-vnf-topology-operation-input.service-information.service-instance-id`"/>
-<parameter name="field6" value="`$preload-vnf-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$preload-vnf-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$preload-vnf-topology-operation-input.request-information.source`"/>
-<parameter name="field9" value="`$preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.service-type`"/>
-<parameter name="field10" value="`$preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.vnf-name`"/>
-<parameter name="field11" value="`$preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.vnf-type`"/></record><switch test="`$preload-vnf-topology-operation-input.request-information.request-action`">
-<!--
-leaf request-action {
- type enumeration {
- enum "VNFActivateRequest";
- enum "ChangeVNFActivateRequest";
- enum "DisconnectVNFRequest";
- enum "PreloadVNFRequest";
- enum "DeletePreloadVNFRequest";
- }
-}
--->
-
-<outcome value='PreloadVNFRequest'><block atomic="true"><set>
-<parameter name="ack-final" value="Y"/></set><set only-if-unset="true">
-<parameter name="sql-resource-plugin" value="org.openecomp.sdnc.sli.resource.sql.SqlResource"/></set><get-resource plugin="`$sql-resource-plugin`" resource="vnf-profile" key="SELECT * from VNF_PROFILE WHERE vnf_type = $preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.vnf-type">
-<outcome value='not-found'>
-<return status='failure'>
- <parameter name="error-code" value="404" />
- <parameter name="error-message" value="preload vnf-type not found as valid vnf " /></return></outcome><outcome value='failure'>
-<return status='failure'>
- <parameter name="error-code" value="404" />
- <parameter name="error-message" value="preload vnf-type not found as valid vnf " /></return></outcome></get-resource><set>
-<parameter name="preload-data." value="" />
-</set><set>
-<parameter name="preload-data." value="preload-vnf-topology-operation-input." />
-</set><set>
- <parameter name="preload-data.oper-status.order-status" value="PendingAssignment"/></set><return status="success">
- <parameter name="error-code" value="200" /></return></block></outcome><outcome value='DeletePreloadVNFRequest'><block atomic="true"><get-resource plugin="`$sql-resource-plugin`" resource="generic-vnf" key="SELECT * FROM VNF_PROFILE vnf-type = $preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.vnf-type">
-<outcome value='success'>
-<return status='failure'>
- <parameter name="error-code" value="3000" />
- <parameter name="error-message" value="preload vnf-type cannot be deleted while vnf is in use" /></return></outcome></get-resource><set>
-<parameter name="preload-data." value="" />
-</set><return status="success">
- <parameter name="error-code" value="200" /></return></block></outcome><outcome value="Other">
-
- <return status="failure">
- <parameter name='error-code' value='2000'/>
- <parameter name='error-message' value='Invalid Request `$preload-vnf-topology-operation-input.request-information.request-action`'/>
-
-
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc="preload-vnf-topology-operation" mode="sync"><block atomic="true"><switch test="`$preload-vnf-topology-operation-input.request-information.request-action`">
+<!--
+leaf request-action {
+ type enumeration {
+ enum "VNFActivateRequest";
+ enum "ChangeVNFActivateRequest";
+ enum "DisconnectVNFRequest";
+ enum "PreloadVNFRequest";
+ enum "DeletePreloadVNFRequest";
+ }
+}
+-->
+
+<outcome value='PreloadVNFRequest'><block atomic="true"><set>
+<parameter name="ack-final" value="Y"/></set><set only-if-unset="true">
+<parameter name="sql-resource-plugin" value="org.openecomp.sdnc.sli.resource.sql.SqlResource"/></set><get-resource plugin="`$sql-resource-plugin`" resource="vnf-profile" key="SELECT * from VNF_PROFILE WHERE vnf_type = $preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.vnf-type">
+<outcome value='not-found'>
+<return status='failure'>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="preload vnf-type not found as valid vnf " /></return></outcome><outcome value='failure'>
+<return status='failure'>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="preload vnf-type not found as valid vnf " /></return></outcome></get-resource><set>
+<parameter name="preload-data." value="" />
+</set><set>
+<parameter name="preload-data." value="preload-vnf-topology-operation-input." />
+</set><set>
+ <parameter name="preload-data.oper-status.order-status" value="PendingAssignment"/></set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></outcome><outcome value='DeletePreloadVNFRequest'><block atomic="true"><get-resource plugin="`$sql-resource-plugin`" resource="generic-vnf" key="SELECT * FROM VNF_PROFILE vnf-type = $preload-vnf-topology-operation-input.vnf-topology-information.vnf-topology-identifier.vnf-type">
+<outcome value='success'>
+<return status='failure'>
+ <parameter name="error-code" value="3000" />
+ <parameter name="error-message" value="preload vnf-type cannot be deleted while vnf is in use" /></return></outcome></get-resource><set>
+<parameter name="preload-data." value="" />
+</set><return status="success">
+ <parameter name="error-code" value="200" /></return></block></outcome><outcome value="Other">
+
+ <return status="failure">
+ <parameter name='error-code' value='2000'/>
+ <parameter name='error-message' value='Invalid Request `$preload-vnf-topology-operation-input.request-information.request-action`'/>
+
+
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_rollback-eipam-ip-assignment.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_rollback-eipam-ip-assignment.xml
new file mode 100644
index 00000000..433ce351
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_rollback-eipam-ip-assignment.xml
@@ -0,0 +1,22 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='rollback-eipam-ip-assignment' mode='sync'>
+<block atomic="true"><set>
+<parameter name='tmp.status'
+ value="`'PENDING_DELETE_' + $vnf-topology-operation-input.vnf-request-information.vnf-id`" />
+<parameter name='service-data.service-information.service-type'
+ value='NOT_APPLICABLE' />
+
+</set><update plugin="org.openecomp.sdnc.sli.resource.sql.SqlResource" resource="SQL"
+ key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status
+ WHERE info = $vnf-topology-operation-input.vnf-request-information.vnf-id" ><outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback." />
+</return></outcome></update><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">
+<parameter name="deleteEIPAM_status" value="`$tmp.status`" />
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback." />
+</return></outcome></execute></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-activate.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-activate.xml
index fef19fbb..388939f2 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-activate.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-activate.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign-vnf-networks.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign-vnf-networks.xml
index bf7fe92a..808fffd8 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign-vnf-networks.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign-vnf-networks.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign.xml
index 0b44711d..99d52408 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-changeassign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-changeassign.xml
index a55a8321..5461fa54 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-changeassign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-changeassign.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-delete.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-delete.xml
index c9c3b2ed..10a265aa 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-delete.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-delete.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-operation.xml
index 61b266c7..a1befe7f 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-operation.xml
@@ -1,90 +1,48 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc='vf-module-topology-operation' mode='sync'>
-<block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="vf-module-topology-operation"/>
-<parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$vf-module-topology-operation-input.request-information.source`"/>
-<parameter name="field6" value="`$vf-module-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$vf-module-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$vf-module-topology-operation-input.service-information.service-id`"/>
-<parameter name="field9" value="`$vf-module-topology-operation-input.service-information.service-type`"/>
-<parameter name="field10" value="`$vf-module-topology-operation-input.service-information.subscriber-name`"/>
-<parameter name="field11" value="`$vf-module-topology-operation-input.service-information.service-instance-id`"/>
-<parameter name="field12" value="`$vf-module-topology-operation-input.vf-module-topology-information.vf-module-id`"/>
-<parameter name="field13" value="`$vf-module-topology-operation-input.vf-module-topology-information.vf-module-model-id`"/>
-<parameter name="field14" value="`$vf-module-topology-operation-input.vf-module-topology-information.vf-module-name`"/>
-<parameter name="field15" value="`$vf-module-topology-operation-input.vf-module-topology-information.request-version`"/>
-<parameter name="field16" value="`$vf-module-topology-operation-input.vf-module-topology-information.vnf-instance-id`"/>
-<parameter name="field17" value="`$vf-module-topology-operation-input.vf-module-topology-information.vnf-model-id`"/>
-<parameter name="field18" value="`$vf-module-topology-operation-input.vf-module-topology-information.vnf-instance-name`"/>
-<parameter name="field19" value="`$vf-module-topology-operation-input.vf-module-topology-information.aic-cloud-region`"/>
-<parameter name="field20" value="`$vf-module-topology-operation-input.vf-module-topology-information.tenant`"/></record><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-name`"><outcome value='Other'><switch test="`$vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-name`"><outcome value='Other'><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-name == $vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-name`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='404'/>
- <parameter name='error-message' value='vf-module-name not found in vf-module-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='No preload data found to match vf-module-name'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-module-name is required'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-model-id`"><outcome value='Other'><switch test="`$vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-model-id`"><outcome value='Other'><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-model-id == $vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-model-id`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='404'/>
- <parameter name='error-message' value='vf-module-model-id not found in vf-module-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='No preload data found to match vf-module-model-id from input'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-module-model-id is required'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-module-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-module-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vnf-instance-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-instance-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-instance-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vnf-instance-name`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-instance-name cannot be NULL'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vnf-model-id`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-model-id cannot be NULL'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.sdnc-request-header.svc-action`">
-<!--
-leaf svc-action {
- type enumeration {
- enum "reserve";
- enum "assign";
- enum "activate"; // equal to commit
- enum "delete"; // equal to commit
- enum "changeassign";
- enum "changedelete";
- enum "rollback";
- }
-}
--->
-
-<outcome value='assign'><call module='VNF-API' rpc='vf-module-topology-assign' mode='sync' ></call></outcome><outcome value='changeassign'><call module='VNF-API' rpc='vf-module-topology-changeassign' mode='sync' ></call></outcome><outcome value='activate'><call module='VNF-API' rpc='vf-module-topology-activate' mode='sync' ></call></outcome><outcome value='rollback'><call module='VNF-API' rpc='vf-module-topology-rollback' mode='sync' ></call></outcome><outcome value='delete'><call module='VNF-API' rpc='vf-module-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='svc-action not recognized'/>
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vf-module-topology-operation' mode='sync'>
+<block atomic="true"><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-name`"><outcome value='Other'><switch test="`$vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-name`"><outcome value='Other'><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-name == $vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-name`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='404'/>
+ <parameter name='error-message' value='vf-module-name not found in vf-module-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='No preload data found to match vf-module-name'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-module-name is required'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-model-id`"><outcome value='Other'><switch test="`$vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-model-id`"><outcome value='Other'><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-model-id == $vf-module-preload-data.vf-module-topology-information.vf-module-identifiers.vf-module-model-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='404'/>
+ <parameter name='error-message' value='vf-module-model-id not found in vf-module-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='No preload data found to match vf-module-model-id from input'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-module-model-id is required'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vf-module-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-module-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-module-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vnf-instance-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-instance-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-instance-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vnf-instance-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-instance-name cannot be NULL'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.vnf-model-id`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-model-id cannot be NULL'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.vf-module-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch><switch test="`$vf-module-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+ type enumeration {
+ enum "reserve";
+ enum "assign";
+ enum "activate"; // equal to commit
+ enum "delete"; // equal to commit
+ enum "changeassign";
+ enum "changedelete";
+ enum "rollback";
+ }
+}
+-->
+
+<outcome value='assign'><call module='VNF-API' rpc='vf-module-topology-assign' mode='sync' ></call></outcome><outcome value='changeassign'><call module='VNF-API' rpc='vf-module-topology-changeassign' mode='sync' ></call></outcome><outcome value='activate'><call module='VNF-API' rpc='vf-module-topology-activate' mode='sync' ></call></outcome><outcome value='rollback'><call module='VNF-API' rpc='vf-module-topology-rollback' mode='sync' ></call></outcome><outcome value='delete'><call module='VNF-API' rpc='vf-module-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='svc-action not recognized'/>
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-rollback.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-rollback.xml
index 7666d51e..d5e27b1f 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-rollback.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-rollback.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-activate.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-activate.xml
index ff1d473b..88a2c634 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-activate.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-activate.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign-vnf-networks.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign-vnf-networks.xml
index 9bc5bba6..acee4ff1 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign-vnf-networks.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign-vnf-networks.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign.xml
index d2fc7655..047f9cb5 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-changeassign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-changeassign.xml
index 37204780..ff828b7b 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-changeassign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-changeassign.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-delete.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-delete.xml
index a2d84f12..a7fc602f 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-delete.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-delete.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-operation.xml
index 8d0ac4f8..b2754f52 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-operation.xml
@@ -1,65 +1,26 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc='vnf-instance-topology-operation' mode='sync'>
-<block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="vnf-instance-topology-operation"/>
-<parameter name="field3" value="`$vnf-instance-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$vnf-instance-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$vnf-instance-topology-operation-input.request-information.source`"/>
-<parameter name="field6" value="`$vnf-instance-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$vnf-instance-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$vnf-instance-topology-operation-input.service-information.service-id`"/>
-<parameter name="field9" value="`$vnf-instance-topology-operation-input.service-information.service-type`"/>
-<parameter name="field10" value="`$vnf-instance-topology-operation-input.service-information.subscriber-name`"/>
-<parameter name="field11" value="`$vnf-instance-topology-operation-input.service-information.service-instance-id`"/>
-<parameter name="field12" value="`$vnf-instance-topology-operation-input.vnf-instance-request-information.request-version`"/>
-<parameter name="field13" value="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-id`"/>
-<parameter name="field14" value="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-model-id`"/>
-<parameter name="field15" value="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-name`"/>
-<parameter name="field16" value="`$vnf-instance-topology-operation-input.vnf-instance-request-information.aic-cloud-region`"/>
-<parameter name="field17" value="`$vnf-instance-topology-operation-input.vnf-instance-request-information.tenant`"/></record><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-name`"><outcome value='Other'><switch test="`$vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-instance-name`"><outcome value='Other'><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-name == $vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-instance-name`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='404'/>
- <parameter name='error-message' value='vnf-instance-name from input not found in vnf-instance-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='No preload data found to match vnf-instance-name from input'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-instance-name is required'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-model-id`"><outcome value='Other'><switch test="`$vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id`"><outcome value='Other'><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-model-id == $vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='404'/>
- <parameter name='error-message' value='request.vnf-model-id not found in vnf-instance-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='No preload data found to match vnf-model-id from input'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-model-id is required'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-instance-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-instance-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.sdnc-request-header.svc-action`">
-<outcome value='assign'><call module='VNF-API' rpc='vnf-instance-topology-assign' mode='sync' ></call></outcome><outcome value='changeassign'><call module='VNF-API' rpc='vnf-instance-topology-changeassign' mode='sync' ></call></outcome><outcome value='activate'><call module='VNF-API' rpc='vnf-instance-topology-activate' mode='sync' ></call></outcome><outcome value='rollback'><call module='VNF-API' rpc='vnf-instance-topology-rollback' mode='sync' ></call></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-instance-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='svc-action not recognized'/>
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-instance-topology-operation' mode='sync'>
+<block atomic="true"><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-name`"><outcome value='Other'><switch test="`$vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-instance-name`"><outcome value='Other'><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-name == $vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-instance-name`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='404'/>
+ <parameter name='error-message' value='vnf-instance-name from input not found in vnf-instance-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='No preload data found to match vnf-instance-name from input'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-instance-name is required'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-model-id`"><outcome value='Other'><switch test="`$vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id`"><outcome value='Other'><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-model-id == $vnf-instance-preload-data.vnf-instance-topology-information.vnf-instance-identifiers.vnf-model-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='404'/>
+ <parameter name='error-message' value='request.vnf-model-id not found in vnf-instance-preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='No preload data found to match vnf-model-id from input'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-model-id is required'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.vnf-instance-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-instance-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-instance-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.vnf-instance-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch><switch test="`$vnf-instance-topology-operation-input.sdnc-request-header.svc-action`">
+<outcome value='assign'><call module='VNF-API' rpc='vnf-instance-topology-assign' mode='sync' ></call></outcome><outcome value='changeassign'><call module='VNF-API' rpc='vnf-instance-topology-changeassign' mode='sync' ></call></outcome><outcome value='activate'><call module='VNF-API' rpc='vnf-instance-topology-activate' mode='sync' ></call></outcome><outcome value='rollback'><call module='VNF-API' rpc='vnf-instance-topology-rollback' mode='sync' ></call></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-instance-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='svc-action not recognized'/>
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-rollback.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-rollback.xml
index 6e0ec559..9b185f90 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-rollback.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-rollback.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-activate.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-activate.xml
index 80ff4c00..1b5ad0c8 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-activate.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-activate.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign-vfmodule.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign-vfmodule.xml
index b69faa62..d8c211fd 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign-vfmodule.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign-vfmodule.xml
@@ -3,7 +3,7 @@
openECOMP : SDN-C
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
+ reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign.xml
index 15d767c5..70be5ba5 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign.xml
@@ -1,73 +1,54 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-assign' mode='sync'>
-<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='true'>
-<return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='vnf-id is already present in config-tree'/></return></outcome></switch><get-resource plugin="com.att.sdnctl.sli.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- local-only="false"
- pfx="tmp.AnAI.vfmodule" ><outcome value='failure'>
-<return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Encountered error while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>
-<return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'vf-module not found in AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><call module='VNF-API' rpc='vnf-topology-assign-vfmodule' mode='sync' ></call><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>
-<parameter name='service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value='0' />
-</set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="com.att.sdnctl.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- force="true"
- local-only="false">
-
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <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="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>
-<block atomic='true'><delete plugin="com.att.sdnctl.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
- AND related-to = l3-network"
- force="true"
- local-only="false"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Encountered error while saving vf-module l3-network relationship in AnAI with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`"/></return></block></outcome></save></for><update plugin="com.att.sdnctl.sli.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- local-only="false" >
- <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'>
-<block atomic="true">
-<delete plugin="com.att.sdnctl.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
- AND related-to = l3-network"
- force="true"
- local-only="false"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="Encountered error while updating vf-module orchestration-status in AnAI"/></return></block></outcome></update><set>
- <parameter name="service-data.oper-status.order-status" value="PendingCreate"/></set><set>
-<parameter name="ack-final" value="Y"/></set><return status='success'>
- <parameter name="error-code" value="200" /></return></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-assign' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='true'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='vnf-id is already present in config-tree'/></return></outcome></switch><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ local-only="false"
+ pfx="tmp.AnAI.vfmodule" ><outcome value='failure'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Encountered error while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'vf-module not found in AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><call module='VNF-API' rpc='vnf-topology-assign-vfmodule' mode='sync' ></call><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>
+<parameter name='service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value='0' />
+</set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ force="true"
+ local-only="false">
+
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <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="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>
+<block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
+ AND related-to = l3-network"
+ force="true"
+ local-only="false"></delete><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Encountered error while saving vf-module l3-network relationship in AnAI with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`"/></return></block></outcome></save></for><update plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ local-only="false" >
+ <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'>
+<block atomic="true">
+<delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
+ AND related-to = l3-network"
+ force="true"
+ local-only="false"></delete><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="Encountered error while updating vf-module orchestration-status in AnAI"/></return></block></outcome></update><set>
+ <parameter name="service-data.oper-status.order-status" value="PendingCreate"/></set><set>
+<parameter name="ack-final" value="Y"/></set><return status='success'>
+ <parameter name="error-code" value="200" /></return></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign-vfmodule.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign-vfmodule.xml
new file mode 100644
index 00000000..ddbd3776
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign-vfmodule.xml
@@ -0,0 +1,344 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-automated-assign-vfmodule' mode='sync'>
+<block atomic="true"><switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+<outcome value='VNFActivateRequest'>
+<block>
+</block></outcome><outcome value='Other'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'VNFActivateRequest'" />
+</return></outcome></switch><get-resource plugin='org.openecomp.sdnc.sli.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-request-information.model-customization-uuid'
+ pfx='db.vf-module-model'>
+
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+</return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vnf-topology-operation-input.vnf-request-information.model-customization-uuid`" />
+</return></outcome></get-resource><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = 'att-aic' AND
+ cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-information.aic-cloud-region"
+ pfx='aai.cloud-region' local-only='false' >
+
+<outcome value='not-found'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="`'aic-cloud-region,'+ $vnf-topology-operation-input.vnf-request-information.aic-cloud-region + ' not found in AAI'`" />
+</return></outcome><outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+</return></outcome></get-resource><set>
+ <parameter name="service-data.vnf-id" value="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"/>
+ <parameter name="service-data.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`"/>
+ <parameter name="service-data.service-information.service-type" value="`$vnf-topology-operation-input.service-information.service-type`"/>
+</set><set>
+ <parameter name="service-data." value="vnf-topology-operation-input." /></set><for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+<outcome value='complex'>
+<block atomic="true"><execute plugin='org.openecomp.sdnc.sli.SliPluginUtils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+</execute><set>
+<parameter name='tmp.aic-clli' value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+</set><break/></block></outcome></switch></for><block>
+<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
+<outcome value=''><set>
+<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
+</set></outcome></switch><for index='az-index' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
+<block atomic="true"><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.availability-zones[$az-index].availability-zone'
+ value='`$aai.cloud-region.availability-zones.availability-zone[$az-index].availability-zone-name`' />
+</set></block></for></block><get-resource plugin='org.openecomp.sdnc.sli.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODULE_TO_VFC_MAPPING WHERE vf_module_customization_uuid = $vnf-topology-operation-input.vnf-request-information.model-customization-uuid'
+ pfx='db.vf-module-to-vfc-mapping[]'>
+
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODULE_TO_VFC_MAPPING table" />
+</return></outcome><outcome value='not-found'>
+<set>
+<parameter name='db.vf-module-to-vfc-mapping_length' value='0' />
+</set></outcome></get-resource><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms_length'
+ value='`$db.vf-module-to-vfc-mapping_length`' />
+</set><for index='vm-type-index' start='0' end='`$db.vf-module-to-vfc-mapping_length`' >
+<block atomic="true"><get-resource plugin='org.openecomp.sdnc.sli.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_MODEL WHERE customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'
+ pfx='db.vfc-model'>
+
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VFC_MODEL table" />
+</return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No entries found in VFC_MODEL table for customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc-customization-uuid`" />
+</return></outcome></get-resource><switch test="$db.vfc-model.ecomp-generated-naming == 'Y'">
+<outcome value='false'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'ECOMP generated naming is not Y for VFC customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc-customization-uuid`" />
+</return></outcome></switch><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-type'
+ value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-type`' />
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-count'
+ value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />
+
+</set><for index='vm-index' start='0' end='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' >
+<block atomic="true"><set>
+<parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />
+<parameter name='generate-unique-name-input.index-table-prefix-column' value='vm_name_prefix' />
+<parameter name='generate-unique-name-input.name-table-type' value='VNFAPI_VM_INSTANCE' />
+<parameter name='x' value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`" />
+<parameter name='y' value="`$db.vfc-model.nfc-naming-code`" />
+<parameter name='generate-unique-name-input.prefix' value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name + $db.vfc-model.nfc-naming-code`" />
+<parameter name='generate-unique-name-input.index-length' value='3' />
+</set><call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
+</return></outcome><outcome value='success'>
+<set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-names[$vm-index].vm-name' value='`$generate-unique-name-output.generated-name`' />
+</set></outcome></call></block></for><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-names_length'
+ value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />
+</set><get-resource plugin='org.openecomp.sdnc.sli.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_TO_NETWORK_ROLE_MAPPING WHERE vfc_customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'
+ pfx='db.vfc-to-network-role-mapping[]'>
+
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VFC_TO_NETWORK_ROLE_MAPPING table" />
+</return></outcome><outcome value='not-found'>
+<set>
+<parameter name='db.vfc-to-network-role-mapping_length' value='0' />
+</set></outcome></get-resource><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks_length'
+ value='`$db.vfc-to-network-role-mapping_length`' />
+</set><set>
+<parameter name='network-index' value='0' />
+</set><for index='network-role-index' start='0' end='`$db.vfc-to-network-role-mapping_length`' >
+<block atomic="true"><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="l3-networks"
+ key="l3-network.network-role = $db.vfc-to-network-role-mapping[$network-role-index].network-role"
+ pfx='aai.l3-network' local-only='false'
+>
+<!--
+ AND l3-network.orchestration-status = 'active'
+ AND cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region
+ AND depth = 'ALL'"
+-->
+<outcome value='not-found'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '
+ + $vnf-topology-operation-input.vnf-request-information.aic-cloud-region + ' and network_role '
+ + $db.vf-network-role-mapping[$network-role-index].network-role`" />
+</return></outcome><outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+</return></outcome></get-resource><set>
+<parameter name='l3-network-id' value='-1' />
+</set><block>
+<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
+<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
+<outcome value='Pending Create'>
+<block>
+</block></outcome><outcome value='Pending Delete'>
+<block>
+</block></outcome><outcome value='Other'>
+<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
+<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+<outcome value='cloud-region'>
+<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`' >
+<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+<outcome value='cloud-region.cloud-region-id'>
+<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-information.aic-cloud-region`'>
+<outcome value='true'>
+<block atomic="true"><set>
+<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' /></set><return status='failure'>
+</return></block></outcome></switch></outcome></switch></for></outcome></switch></for></outcome></switch></for><return status='success'>
+
+</return></block><switch test='`$l3-network-id`'>
+<outcome value='-1'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+</return></outcome></switch><set>
+<parameter name="tmp.vnf-topology.vnf-assignments.vnf-networks[$network-index].network-name"
+ value="`$aai.l3-network.l3-network[$network-role-index].network-name`" />
+<parameter name="tmp.vnf-topology.vnf-assignments.vnf-networks[$network-index].network-id"
+ value="`$aai.l3-network.l3-network[$network-role-index].network-id`" />
+<parameter name="tmp.vnf-topology.vnf-assignments.vnf-networks[$network-index].neutron-id"
+ value="`$aai.l3-network.l3-network[$network-role-index].neutron-network-id`" />
+<parameter name="tmp.vnf-topology.vnf-assignments.vnf-networks[$network-index].contrail-network-fqdn"
+ value="`$aai.l3-network.l3-network[$network-role-index].contrail-network-fqdn`" />
+<parameter name="tmp.vnf-topology.vnf-assignments.vnf-networks[$network-index].network-role"
+ value="`$db.vfc-to-network-role-mapping[$network-role-index].network-role`" />
+</set><set>
+<parameter name='network-index' value='`$network-index + 1`' />
+</set></block></for><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-networks_length'
+ value='`$network-index`' />
+</set></block></for><for index='vm-type-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms_length`' >
+<for index='network-role-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks_length`' >
+<block atomic="true"><set>
+<parameter name='vm-networks-index' value='-1' />
+
+</set><switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-ip-version`'>
+<outcome value=''><set>
+<parameter name='vm-networks-index' value='-1' />
+
+</set></outcome><outcome value='ipv4'>
+<block atomic="true"><set>
+<parameter name='vm-networks-index' value='0' />
+</set><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].use-dhcp'
+ value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-use-dhcp`' />
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].ip-count'
+ value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-count`' /></set><set>
+<parameter name='tmp.local.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].ip-version'
+ value='ipv4' /> </set></block></outcome></switch><switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-ip-version`'>
+<outcome value=''><block>
+</block></outcome><outcome value='ipv6'>
+<block atomic="true"><set>
+<parameter name='vm-networks-index' value='`$network-information-index + 1`' />
+</set><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].use-dhcp'
+ value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-use-dhcp`' />
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].ip-count'
+ value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-count`' /></set><set>
+<parameter name='tmp.local.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].ip-version'
+ value='ipv6' />
+</set></block></outcome></switch><set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].network-role'
+ value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role`' /></set><switch test='`$vm-networks-index`'>
+<outcome value='-1'><block>
+</block></outcome><outcome value='Other'>
+<set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks_length'
+ value='`$vm-networks-index + 1`' />
+</set></outcome></switch></block></for></for><for index='vm-type-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms_length`' >
+<for index='network-role-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks_length`' >
+<switch test='`$tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].use-dhcp`'>
+<outcome value='N'>
+<for index='ip-count-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].ip-count`'><block atomic="true"><set>
+<parameter name='generate-unique-name-input.index-table-name' value='EIPAM_CLIENT_KEY_INDEX' />
+<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
+<parameter name='generate-unique-name-input.name-table-type' value='VNFAPI_CLIENT_KEY' />
+<parameter name='generate-unique-name-input.prefix'
+ value="`$vnf-topology-operation-input.vnf-request-information.vnf-name + ':' +
+ $tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-type + ':' +
+ $tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].network-role + ':'`" />
+<parameter name='generate-unique-name-input.index-length' value='2' />
+
+<!-- zrdm3mmex57_vlc:vlc:sctp_a:01 --></set><call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
+</return></outcome></call><set>
+<parameter name='tmp.aic-cloud-region'
+ value='`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`' />
+<parameter name='tmp.client-key'
+ value='`$generate-unique-name-output.generated-name`' />
+<parameter name='tmp.subnetpool-id'
+ value='`$db.vfc-to-network-role-mapping[$network-role-index].extcp-subnetpool-id`' />
+<parameter name='network-topology-operation-input.network-information.network-id'
+ value = 'NOT_APPLICABLE' />
+<parameter name='service-data.service-information.service-type'
+ value = 'NOT_APPLICABLE' />
+</set><call module='VNF-API' rpc='eipam-mobility-ip-assignment' mode='sync' ></call><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="assignIPAddress"><outcome value='failure'><block atomic="true"><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="An error occured while obtaining new address blocks from EIPAM." />
+</return></block></outcome></execute><switch test='`$eipam-ip-block.plans_length`'>
+<outcome value=''><block atomic="true"><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="eipam-ip-block.plans[] is null." />
+</return></block></outcome><outcome value='0'><block atomic="true"><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="eipam-ip-block.plans[] is null." />
+</return></block></outcome></switch><for index='plans-index' start='0' end='`$eipam-ip-block.plans_length`' >
+<block atomic="true"><switch test='`$eipam-ip-block.plans[$plans-index].requests_length`'>
+<outcome value=''><block atomic="true"><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'eipam-ip-block.plans['+ $plans-index +'].requests[] is null.'`" />
+</return></block></outcome><outcome value='0'><block atomic="true"><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'eipam-ip-block.plans['+ $plans-index +'].requests[] is null.'`" />
+</return></block></outcome></switch><for index='rqst-index' start='0' end='`$eipam-ip-block.plans[$plans-index].requests_length`' >
+<switch test='`$eipam-ip-block.plans[$plans-index].address-family`'>
+<outcome value='ipv4'>
+<set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].network-ips[$ip-count-index].ip-address'
+ value='`$eipam-ip-block.plans[$plans-index].requests[$rqst-index].ip-prefix`' /></set></outcome><outcome value='ipv6'>
+<set>
+<parameter name='tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-networks[$network-role-index].network-ips-v6[$ip-count-index].ip-address-ipv6'
+ value='`$eipam-ip-block.plans[$plans-index].requests[$rqst-index].ip-prefix`' /></set></outcome></switch></for></block></for></block></for></outcome></switch></for></for><for index='vm-type-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms_length`' >
+<for index='vm-index' start='0' end='`$tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-count`' >
+<block atomic="true"><delete plugin='org.openecomp.sdnc.sli.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnf-id
+ AND ecomp_service_instance_id = $vnf-topology-operation-input.service-information.service-instance-id
+ AND vm_name = $tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-names[$vm-index].vm-name' ><outcome value='failure'>
+<record plugin="org.openecomp.sdnc.sli.recording.Slf4jRecorder">
+<parameter name="logger" value="message-log"/>
+<parameter name="field1" value="__TIMESTAMP__"/>
+<parameter name="field2" value="VNF-API.vnf-topology-automated-assign-vfmodule:REQID"/>
+<parameter name="field3" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+<parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+</record></outcome></delete><save plugin="org.openecomp.sdnc.sli.resource.sql.SqlResource" resource="SQL"
+ key="INSERT INTO VIPR_CONFIGURATION (vnf_id,
+ vnf_name,
+ ecomp_service_instance_id,
+ vm_name,
+ cloud_region_id,
+ cloud_owner)
+ VALUES ( $service-data.vnf-id ,
+ $vnf-topology-operation-input.vnf-request-information.vnf-name ,
+ $vnf-topology-operation-input.service-information.service-instance-id ,
+ $tmp.vnf-topology.vnf-assignments.vnf-vms[$vm-type-index].vm-names[$vm-index]-vm-name ,
+ $vnf-topology-operation.vnf-request-information.aic-cloud-region ,
+ 'att-aic')" ><outcome value='failure'>
+<record plugin="org.openecomp.sdnc.sli.recording.Slf4jRecorder">
+<parameter name="logger" value="message-log"/>
+<parameter name="field1" value="__TIMESTAMP__"/>
+<parameter name="field2" value="VNF-API.vnf-topology-automated-assign-vfmodule:REQID"/>
+<parameter name="field3" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+<parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+</record></outcome></save></block></for></for><set>
+<parameter name='service-data.vnf-topology-information.' value='tmp.vnf-topology.' />
+</set><execute plugin='org.openecomp.sdnc.sli.SliPluginUtils.SliPluginUtils' method='printContext' >
+<parameter name='filename' value='/var/tmp/bgb-vnfapi-vfmodule.log' />
+</execute></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign.xml
new file mode 100644
index 00000000..86a46326
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign.xml
@@ -0,0 +1,57 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-automated-assign' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='true'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='vnf-id is already present in config-tree'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.model-customization-uuid`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='model-customization-uuid cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='model-customization-uuid cannot be NULL or 0'/></return></outcome></switch><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ local-only="false"
+ pfx="tmp.AnAI.vfmodule" ><outcome value='failure'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Encountered error while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='error-code' value='404'/>
+ <parameter name='error-message' value="`'vf-module not found in AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><call module='VNF-API' rpc='vnf-topology-automated-assign-vfmodule' mode='sync' ></call><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>
+<parameter name='service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value='0' />
+</set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ force="true"
+ local-only="false">
+
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <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="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>
+<block atomic='true'><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
+ AND related-to = l3-network"
+ force="true"
+ local-only="false"></delete><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call></block><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Encountered error while saving vf-module l3-network relationship in AnAI with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`"/></return></block></outcome></save></for><update plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ local-only="false" >
+ <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'>
+<block atomic="true">
+<block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
+ AND related-to = l3-network"
+ force="true"
+ local-only="false"></delete><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call></block><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="Encountered error while updating vf-module orchestration-status in AnAI"/></return></block></outcome></update><set>
+ <parameter name="service-data.oper-status.order-status" value="PendingCreate"/></set><set>
+<parameter name="ack-final" value="Y"/></set></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-delete.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-delete.xml
new file mode 100644
index 00000000..e64d8f91
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-delete.xml
@@ -0,0 +1,13 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-automated-delete' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='404'/>
+ <parameter name='error-message' value='vnf-id not found'/></return></outcome></switch><switch test="`$service-data.oper-status.order-status == Active`"><outcome value='false'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='Invalid order-status'/></return></outcome></switch><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><set>
+ <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
+ <parameter name="service-data.oper-status.order-status" value="Deleted"/></set><set>
+ <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
+ <parameter name="service-data." value="" />
+</set><set>
+<parameter name="ack-final" value="Y"/></set></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-operation.xml
new file mode 100644
index 00000000..acf2f17a
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-operation.xml
@@ -0,0 +1,41 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-automated-operation' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+ type enumeration {
+ enum "reserve";
+ enum "assign";
+ enum "activate"; // equal to commit
+ enum "delete"; // equal to commit
+ enum "changeassign";
+ enum "changedelete";
+ enum "rollback";
+ }
+}
+-->
+
+<outcome value='assign'><block atomic='true'><block atomic="true">
+<switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-name is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-type is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-automated-assign' mode='sync' ></call></block></outcome><outcome value='activate'><block>
+<call module='VNF-API' rpc='vnf-topology-activate' mode='sync' ></call></block></outcome><outcome value='rollback'><block>
+<call module='VNF-API' rpc='vnf-topology-automated-rollback' mode='sync' ></call></block></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-topology-automated-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='svc-action not recognized'/>
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-rollback.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-rollback.xml
new file mode 100644
index 00000000..5f4a12e9
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-rollback.xml
@@ -0,0 +1,12 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-automated-rollback' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value="`'vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' not found in config tree'`"/></return></outcome></switch><switch test="`$service-data.oper-status.order-status == PendingCreate`"><outcome value='false'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='Invalid order-status'/></return></outcome></switch><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call><set>
+ <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
+ <parameter name="service-data.oper-status.order-status" value="Deleted"/></set><set>
+ <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
+ <parameter name="service-data." value="" />
+</set></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changeassign.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changeassign.xml
index a1e76722..021fe9e1 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changeassign.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changeassign.xml
@@ -1,100 +1,81 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc='vnf-topology-changeassign' mode='sync'>
-<block atomic="true"><switch test="`$service-data.oper-status.order-status == Active`">
-<!--
-leaf order-status {
- type enumeration {
- enum "Active";
- enum "PendingAssignment";
- enum "PendingCreate";
- enum "PendingUpdate";
- enum "Deleted";
- }
-}
---><outcome value='false'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='Invalid service-data order status'/></return></outcome></switch><call module='VNF-API' rpc='vnf-topology-assign-vfmodule' mode='sync' ></call><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- local-only="false"
- pfx="tmp.AnAI.vfmodule"><outcome value='failure'>
-<return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>
-<return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
- AND related-to = l3-network"
- force="true"
- local-only="false"><outcome value='failure'>
-<return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'An error occurred while deleting existing vf-module l3-network relationship in AnAI with with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id + ' vf-module update FAILED.'`"/></return></outcome></delete><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- force="true"
- local-only="false">
-
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <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="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>
-<block>
-<set>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`' | An error occurred while saving l3-network relationship with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id + ' for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
-</set><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
- AND related-to = l3-network"
- force="true"
- local-only="false"></delete><for index="i" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship_length`"><switch test="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].related-to`"><outcome value='l3-network'><for index="j" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
- AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- force="true"
- local-only="false">
-
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <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="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data[$j].relationship-value`" /><outcome value='failure'>
-<set>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
-</set></outcome><outcome value='not-found'>
-<set>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
-</set></outcome></save></for></outcome></switch></for><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Failed to update vf-module l3-network relationship in AnAI. ' + $error-message`"/></return></block></outcome></save></for><set>
- <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
- <parameter name="service-data.oper-status.order-status" value="PendingUpdate"/></set><set>
- <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
-<parameter name="ack-final" value="Y"/></set><return status='success'>
- <parameter name="error-code" value="200" /></return></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-changeassign' mode='sync'>
+<block atomic="true"><switch test="`$service-data.oper-status.order-status == Active`">
+<!--
+leaf order-status {
+ type enumeration {
+ enum "Active";
+ enum "PendingAssignment";
+ enum "PendingCreate";
+ enum "PendingUpdate";
+ enum "Deleted";
+ }
+}
+--><outcome value='false'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='Invalid service-data order status'/></return></outcome></switch><call module='VNF-API' rpc='vnf-topology-assign-vfmodule' mode='sync' ></call><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ local-only="false"
+ pfx="tmp.AnAI.vfmodule"><outcome value='failure'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
+ AND related-to = l3-network"
+ force="true"
+ local-only="false"><outcome value='failure'>
+<return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'An error occurred while deleting existing vf-module l3-network relationship in AnAI with with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id + ' vf-module update FAILED.'`"/></return></outcome></delete><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>
+<parameter name = "service-data.vnf-topology-information.vnf-assignments.vnf-networks_length" value="0" />
+</set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ force="true"
+ local-only="false">
+
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <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="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>
+<block>
+<set>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`' | An error occurred while saving l3-network relationship with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id + ' for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
+</set><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
+ AND related-to = l3-network"
+ force="true"
+ local-only="false"></delete><for index="i" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship_length`"><switch test="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].related-to`"><outcome value='l3-network'><for index="j" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
+ AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ force="true"
+ local-only="false">
+
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <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="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data[$j].relationship-value`" /><outcome value='failure'>
+<set>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
+</set></outcome><outcome value='not-found'>
+<set>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
+</set></outcome></save></for></outcome></switch></for><return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Failed to update vf-module l3-network relationship in AnAI. ' + $error-message`"/></return></block></outcome></save></for><set>
+ <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
+ <parameter name="service-data.oper-status.order-status" value="PendingUpdate"/></set><set>
+ <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
+<parameter name="ack-final" value="Y"/></set><return status='success'>
+ <parameter name="error-code" value="200" /></return></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changedelete.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changedelete.xml
index 0b57d013..99bc9ccb 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changedelete.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changedelete.xml
@@ -1,51 +1,32 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-changedelete' mode='sync'>
-<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-id not found'/></return></outcome></switch><switch test="'$service-data.oper-status.order-status == Active'">
-
-<!--
-leaf order-status {
- type enumeration {
- enum "Active";
- enum "PendingAssignment";
- enum "PendingCreate";
- enum "PendingUpdate";
- enum "Deleted";
- }
-}
---><outcome value='false'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='Invalid last-order-status'/></return></outcome></switch><update plugin="com.att.sdnctl.sli.aai.AAIService"
- resource="generic-vnf"
- key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
- force="true"
- local-only="false" >
- <parameter name="orchestration-status" value="pending-delete" />
-</update><set>
- <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
- <parameter name="service-data.oper-status.order-status" value="PendingDelete"/></set><set>
- <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
- <parameter name="service-data." value="vnf-topology-operation-input." />
-</set><return status='success'>
- <parameter name="error-code" value="200" />
-</return></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-changedelete' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-id not found'/></return></outcome></switch><switch test="'$service-data.oper-status.order-status == Active'">
+
+<!--
+leaf order-status {
+ type enumeration {
+ enum "Active";
+ enum "PendingAssignment";
+ enum "PendingCreate";
+ enum "PendingUpdate";
+ enum "Deleted";
+ }
+}
+--><outcome value='false'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='Invalid last-order-status'/></return></outcome></switch><update plugin="org.openecomp.sdnc.sli.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
+ force="true"
+ local-only="false" >
+ <parameter name="orchestration-status" value="pending-delete" />
+</update><set>
+ <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
+ <parameter name="service-data.oper-status.order-status" value="PendingDelete"/></set><set>
+ <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
+ <parameter name="service-data." value="vnf-topology-operation-input." />
+</set><return status='success'>
+ <parameter name="error-code" value="200" />
+</return></block></method></service-logic>
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-delete.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-delete.xml
index 6e6a6dc4..f44c8d2f 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-delete.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-delete.xml
@@ -1,34 +1,15 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-delete' mode='sync'>
-<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-id not found'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value='Other'>
-<switch test="`$service-data.oper-status.order-status == Active`"><outcome value='false'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='Invalid order-status'/></return></outcome></switch></outcome></switch><set>
- <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
- <parameter name="service-data.oper-status.order-status" value="Deleted"/></set><set>
- <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
- <parameter name="service-data." value="" />
-</set><set>
-<parameter name="ack-final" value="Y"/></set><return status='success'>
- <parameter name="error-code" value="200" /></return></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-delete' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-id not found'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value='Other'>
+<switch test="`$service-data.oper-status.order-status == Active`"><outcome value='false'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='Invalid order-status'/></return></outcome></switch></outcome></switch><set>
+ <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
+ <parameter name="service-data.oper-status.order-status" value="Deleted"/></set><set>
+ <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
+ <parameter name="service-data." value="" />
+</set><set>
+<parameter name="ack-final" value="Y"/></set><return status='success'>
+ <parameter name="error-code" value="200" /></return></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml
index e1cd9cb7..a89ee7bf 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml
@@ -1,124 +1,2 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-operation' mode='sync'>
-<block atomic="true"><record plugin="com.att.sdnctl.sli.recording.FileRecorder">
-<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="svc-topology-operation"/>
-<parameter name="field3" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action`"/>
-<parameter name="field4" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field5" value="`$vnf-topology-operation-input.service-information.service-instance-id`"/>
-<parameter name="field6" value="`$vnf-topology-operation-input.request-information.request-id`"/>
-<parameter name="field7" value="`$vnf-topology-operation-input.request-information.request-action`"/>
-<parameter name="field8" value="`$vnf-topology-operation-input.request-information.source`"/>
-<parameter name="field9" value="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"/>
-<parameter name="field10" value="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"/>
-<parameter name="field11" value="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"/>
-<parameter name="field12" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"/>
-<parameter name="field13" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"/>
-<parameter name="field14" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/>
-<parameter name="field15" value="`$vnf-topology-operation-input.vnf-request-information.tenant`"/>
-<parameter name="field16" value="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"/>
-<parameter name="field17" value="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"/>
-<parameter name="field18" value="`$preload-data.oper-status.order-status`"/></record><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='request.vnf-name not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='No preload data found to match vnf-name'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-name is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='request.vnf-type not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='No preload data found to match vnf-type'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vnf-type is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.sdnc-request-header.svc-action`">
-<!--
-leaf svc-action {
- type enumeration {
- enum "reserve";
- enum "assign";
- enum "activate"; // equal to commit
- enum "delete"; // equal to commit
- enum "changeassign";
- enum "changedelete";
- enum "rollback";
- }
-}
--->
-
-<outcome value='assign'><block>
-<block atomic="true">
-<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-assign' mode='sync' ></call></block></outcome><outcome value='changeassign'><block>
-<block atomic="true">
-<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-changeassign' mode='sync' ></call></block></outcome><outcome value='activate'><block>
-<block atomic="true">
-<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-activate' mode='sync' ></call></block></outcome><outcome value='rollback'><block>
-<block atomic="true">
-<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-rollback' mode='sync' ></call></block></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='svc-action not recognized'/>
-</return></outcome></switch></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-operation' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.use-preload`"><outcome value='Y'><call module='VNF-API' rpc='vnf-topology-preload-operation' mode='sync' ></call></outcome><outcome value=''><call module='VNF-API' rpc='vnf-topology-preload-operation' mode='sync' ></call></outcome><outcome value='N'><call module='VNF-API' rpc='vnf-topology-automated-operation' mode='sync' ></call></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-preload-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-preload-operation.xml
new file mode 100644
index 00000000..1f8df4e9
--- /dev/null
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-preload-operation.xml
@@ -0,0 +1,86 @@
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-preload-operation' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='request.vnf-name not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='No preload data found to match vnf-name'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-name is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='request.vnf-type not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='No preload data found to match vnf-type'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vnf-type is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+ type enumeration {
+ enum "reserve";
+ enum "assign";
+ enum "activate"; // equal to commit
+ enum "delete"; // equal to commit
+ enum "changeassign";
+ enum "changedelete";
+ enum "rollback";
+ }
+}
+-->
+
+<outcome value='assign'><block>
+<block atomic="true">
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-assign' mode='sync' ></call></block></outcome><outcome value='changeassign'><block>
+<block atomic="true">
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-changeassign' mode='sync' ></call></block></outcome><outcome value='activate'><block>
+<block atomic="true">
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-activate' mode='sync' ></call></block></outcome><outcome value='rollback'><block>
+<block atomic="true">
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-rollback' mode='sync' ></call></block></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='svc-action not recognized'/>
+</return></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-rollback.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-rollback.xml
index 244696f8..cbb1be63 100644
--- a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-rollback.xml
+++ b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-rollback.xml
@@ -1,32 +1,13 @@
-<!--
- ============LICENSE_START=======================================================
- openECOMP : SDN-C
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights
- reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-rollback' mode='sync'>
-<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
-<return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value="`'vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' not found in config tree'`"/></return></outcome></switch><switch test="`$service-data.oper-status.order-status == PendingCreate`"><outcome value='false'><return status='failure'>
- <parameter name='error-code' value='400'/>
- <parameter name='error-message' value='Invalid order-status'/></return></outcome></switch><set>
- <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
- <parameter name="service-data.oper-status.order-status" value="Deleted"/></set><set>
- <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
- <parameter name="service-data." value="" />
-</set><return status='success'>
- <parameter name="error-code" value="200" /></return></block></method></service-logic>
+<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-rollback' mode='sync'>
+<block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='false'>
+<return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value="`'vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' not found in config tree'`"/></return></outcome></switch><switch test="`$service-data.oper-status.order-status == PendingCreate`"><outcome value='false'><return status='failure'>
+ <parameter name='error-code' value='400'/>
+ <parameter name='error-message' value='Invalid order-status'/></return></outcome></switch><set>
+ <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
+ <parameter name="service-data.oper-status.order-status" value="Deleted"/></set><set>
+ <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
+ <parameter name="service-data." value="" />
+</set><return status='success'>
+ <parameter name="error-code" value="200" /></return></block></method></service-logic> \ No newline at end of file