diff options
Diffstat (limited to 'platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml')
-rw-r--r-- | platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml | 358 |
1 files changed, 358 insertions, 0 deletions
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 new file mode 100644 index 00000000..5e787c7c --- /dev/null +++ b/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml @@ -0,0 +1,358 @@ +<!-- + ============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-assign" mode="sync"><block atomic="true"><switch test="`$network-topology-operation-input.service-information.service-type`"><outcome value=''><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='service-type, aka AnAI subscription-service-type, is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.subscriber-name`"><outcome value=''><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='subscriber-name, aka AnAI global-customer-id, is required.'/></return></outcome></switch><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-name = $network-topology-operation-input.network-request-information.network-name" + local-only="false" + pfx="tmp.AnAI.l3network.existed"> + +<outcome value='failure'> +<return status='failure'> +<parameter name='error-code' value='500' /> +<parameter name='error-message' value="`'An error occurred while querying whether l3-network with network-name = ' + $network-topology-operation-input.network-request-information.network-name + ' already exists in AnAI'`"/> +</return></outcome><outcome value='success'> +<return status='failure'> +<parameter name='error-code' value='500' /> +<parameter name='error-message' value="`'A l3-network with network-name = ' + $network-topology-operation-input.network-request-information.network-name + ' already existed in AnAI with network-id = ' + $tmp.AnAI.l3network.existed.network-id`" /> +</return></outcome></get-resource><set> + <parameter name="tmp.error-message" value=""/></set><call module="VNF-API" rpc="generate-l3network-network-id" mode="sync" > +<outcome value='failure'> +<return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error in generating l3-network.network-id in SDNC'/></return></outcome></call><save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" > +<!-- Create l3-network object --> +<parameter name="network-id" value="`$tmp.return.generate-l3network-network-id.uuid`" /> +<parameter name="network-name" value="`$network-topology-operation-input.network-request-information.network-name`" /> +<parameter name="network-type" value="`$network-topology-operation-input.network-request-information.network-type`" /> +<parameter name="network-role" value="`$preload-data.network-topology-information.network-topology-identifier.network-role`" /> +<parameter name="network-technology" value="`$preload-data.network-topology-information.network-topology-identifier.network-technology`" /> +<parameter name="service-id" value="`$network-topology-operation-input.service-information.service-id`" /> +<parameter name="tenant-id" value="`$network-topology-operation-input.network-request-information.tenant`" /> +<parameter name="network-role-instance" value="0" /> +<parameter name="orchestration-status" value="pending-create" /><outcome value='failure'> +<return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Failed to save l3-netework in AnAI with network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></return></outcome><outcome value='not-found'> +<return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Failed to save l3-netework in AnAI with network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></return></outcome></save><update plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" > +<parameter name="physical-network-name" value="`$preload-data.network-topology-information.provider-network-information.physical-network-name`" /> +<parameter name="is-provider-network" value="`$preload-data.network-topology-information.provider-network-information.is-provider-network`" /> +<parameter name="is-shared-network" value="`$preload-data.network-topology-information.provider-network-information.is-shared-network`" /> +<parameter name="is-external-network" value="`$preload-data.network-topology-information.provider-network-information.is-external-network`" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network with provider-network-information in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network with provider-network-information in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></update><for index="i" start="0" end="`$preload-data.network-topology-information.subnets_length`"> +<block atomic='true'><switch test="`$preload-data.network-topology-information.subnets[$i].dhcp-enabled`"><outcome value='Y'><set> +<parameter name="tmp.dhcpEnabled.boolean" value="true" /> +</set></outcome><outcome value='N'><set> +<parameter name="tmp.dhcpEnabled.boolean" value="false" /> +</set></outcome></switch><set> +<parameter name="tmp.gateway-address" value="`$preload-data.network-topology-information.subnets[$i].gateway-address`" /> +</set><switch test="`$preload-data.network-topology-information.subnets[$i].gateway-address`"><outcome value=''><block atomic='true'><execute plugin="org.openecomp.sdnc.sli.plugin.ipAddressTools.IpAddressTool" method="getGatewayAddress"> + <parameter name="ipAddress" value="`$preload-data.network-topology-information.subnets[$i].start-address`" /> + <parameter name="ipVersion" value="`$preload-data.network-topology-information.subnets[$i].ip-version`" /> + <parameter name="subnet" value="`$preload-data.network-topology-information.subnets[$i].cidr-mask`" /> + <parameter name="ctxVariable" value="tmp.return.generate.gateway-address" /></execute><set> +<parameter name="tmp.gateway-address" value="`$tmp.return.generate.gateway-address`" /> +</set></block></outcome></switch><set> +<parameter name="tmp.local.network-id" value="`$tmp.return.generate-l3network-network-id.uuid`" /> +</set><call module="VNF-API" rpc="generate-subnets-subnet-id" mode="sync" > +<outcome value='failure'> +<block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></outcome></call><save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="subnet" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid + AND subnet.subnet-id = $tmp.return.generate-subnets-subnet-id.uuid" > +<!-- Create l3-network object --> +<parameter name="network-id" value="`$tmp.return.generate-l3network-network-id.uuid`" /> +<parameter name="subnet-id" value="`$tmp.return.generate-subnets-subnet-id.uuid`" /> +<parameter name="subnet-name" value="`$preload-data.network-topology-information.subnets[$i].subnet-name`" /> +<parameter name="gateway-address" value="`$tmp.gateway-address`" /> +<parameter name="network-start-address" value="`$preload-data.network-topology-information.subnets[$i].start-address`" /> +<parameter name="cidr-mask" value="`$preload-data.network-topology-information.subnets[$i].cidr-mask`" /> +<parameter name="ip-version" value="`$preload-data.network-topology-information.subnets[$i].ip-version`" /> +<parameter name="dhcp-start" value="`$preload-data.network-topology-information.subnets[$i].dhcp-start-address`" /> +<parameter name="dhcp-end" value="`$preload-data.network-topology-information.subnets[$i].dhcp-end-address`" /> +<parameter name="dhcp-enabled" value="`$tmp.dhcpEnabled.boolean`" /> + <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork.subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork.subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></for><save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" + force="true" + local-only="false"> + <!-- create relationship-list --> + <parameter name="relationship-list.relationship[0].related-to" value="tenant" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="att-aic" /> + <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-information.aic-cloud-region`" /> + <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-information.tenant`" /> + <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" /> + <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" /> + <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="att-aic" /> + <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" /> + <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-information.aic-cloud-region`" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and clould-region relationship for l3-network in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and clould-region relationship for l3-network in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save><switch test="`$preload-data.network-topology-information.vpn-bindings_length`"><outcome value=''><set> +<parameter name="preload-data.network-topology-information.vpn-bindings_length" value="0" /> +</set></outcome></switch><for index="i" start="0" end="`$preload-data.network-topology-information.vpn-bindings_length`"> +<block atomic='true'><set> +<parameter name="tmp.vpn-binding-id" value="" /> +</set><switch test="`$preload-data.network-topology-information.vpn-bindings[$i].vpn-binding-id`"><outcome value='Other'> +<set> +<parameter name="tmp.vpn-binding-id" value="`$preload-data.network-topology-information.vpn-bindings[$i].vpn-binding-id`" /> +</set></outcome></switch><switch test="`$preload-data.network-topology-information.vpn-bindings[$i].global-route-target != ''`" ><outcome value='true'> +<get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="vpn-binding" + key="vpn-binding.global-route-target = $preload-data.network-topology-information.vpn-bindings[$i].global-route-target" + local-only="false" + pfx="tmp.AnAI.vpn-binding"><outcome value='success'> +<switch test="`$tmp.AnAI.vpn-binding.vpn-id`" ><outcome value='Other'> +<set> +<parameter name="tmp.vpn-binding-id" value="`$tmp.AnAI.vpn-binding.vpn-id`" /> +</set></outcome><outcome value=''> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where global-route-target = ' + $preload-data.network-topology-information.vpn-bindings[$i].global-route-target + '. It is likely that the same global-route-target points to more than one vpn-binding objects in AnAI.'`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></switch></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where global-route-target = ' + $preload-data.network-topology-information.vpn-bindings[$i].global-route-target`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where global-route-target = ' + $preload-data.network-topology-information.vpn-bindings[$i].global-route-target`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></get-resource></outcome></switch><switch test="`$tmp.vpn-binding-id != ''`"><outcome value='true'> +<save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" + force="true" + local-only="false"> + + <parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.vpn-binding-id`" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving vpn-binding relationship for l3-network in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving vpn-binding relationship for l3-network in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='success'> +<set> +<parameter name="tmp.is-bound-to-vpn" value="true" /> +</set></outcome></save></outcome></switch></block></for><switch test="`$preload-data.network-topology-information.network-policy_length`"><outcome value=''><set> +<parameter name='preload-data.network-topology-information.network-policy_length' value='0' /> +</set></outcome></switch><for index="i" start="0" end="`$preload-data.network-topology-information.network-policy_length`"> +<switch test="`$preload-data.network-topology-information.network-policy[$i].network-policy-fqdn != ''`"><outcome value='true'> +<get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="network-policy" + key="network-policy.network-policy-fqdn = $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn" + local-only="false" + pfx="tmp.AnAI.network-policy"><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='success'> +<switch test="`$tmp.AnAI.network-policy.network-policy-id`" ><outcome value=''> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query newtork-policy from AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn + '. It is likely that the same network-policy-fqdn points to more than one network-policy objects in AnAI.'`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='Other'> +<save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" > +<parameter name="relationship-list.relationship[0].related-to" value="network-policy" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-policy.network-policy-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.network-policy.network-policy-id`" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving network-policy relationship for l3-network in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving network-policy relationship for l3-network in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save></outcome></switch></outcome></get-resource></outcome></switch></for><switch test="`$preload-data.network-topology-information.route-table-reference_length`"><outcome value=''><set> +<parameter name='preload-data.network-topology-information.route-table-reference_length' value='0' /> +</set></outcome></switch><for index="i" start="0" end="`$preload-data.network-topology-information.route-table-reference_length`"> +<switch test="`$preload-data.network-topology-information.route-table-reference[$i].route-table-reference-fqdn != ''`"><outcome value='true'> +<get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="route-table-reference" + key="route-table-reference.route-table-reference-fqdn = $preload-data.network-topology-information.route-table-reference[$i].route-table-reference-fqdn" + pfx="tmp.AnAI.route-table-reference"><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set></block></outcome><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set></block></outcome><outcome value='success'> +<switch test="`$tmp.AnAI.route-table-referencey.route-table-reference-id`" ><outcome value=''> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'Failed to query route-table-reference from AnAI where route-table-reference-fqdn = ' + $preload-data.network-topology-information.route-table-reference[$i].route-table-reference-fqdn + '. It is likely that the same route-table-reference-fqdn points to more than one route-table-reference objects in AnAI.'`"/></set></block></outcome><outcome value='Other'> +<save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" > +<parameter name="relationship-list.relationship[0].related-to" value="route-table-reference" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="route-table-reference.route-table-reference-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.route-table-reference.route-table-reference-id`" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving route-table-reference relationship for l3-network in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving route-table-reference relationship for l3-network in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save></outcome></switch></outcome></get-resource></outcome></switch></for><switch test="`$tmp.is-bound-to-vpn`"><outcome value="true"><update plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" > +<parameter name="is-bound-to-vpn" value="true" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network is-bound-to-vpn in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network is-bound-to-vpn in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></update></outcome></switch><save plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" > +<parameter name="relationship-list.relationship[0].related-to" value="service-instance" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$network-topology-operation-input.service-information.subscriber-name`" /> +<parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" /> +<parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.service-information.service-type`" /> +<parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.service-information.service-instance-id`" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving service-instance relationship for l3-network in AnAI where service-instance-id = ' + $network-topology-operation-input.service-information.service-instance-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving service-instance relationship for l3-network in AnAI where service-instance-id = ' + $network-topology-operation-input.service-information.service-instance-id`"/></set><block atomic='true'><delete plugin="org.openecomp.sdnc.sli.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save><set> +<parameter name="ack-final" value="Y"/></set><return status="success"> + <parameter name="networkId" value="`$tmp.return.generate-l3network-network-id.uuid`" /> + <parameter name="error-code" value="200" /></return></block></method></service-logic> |