Add relationship between bbs resource and service
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.xml
index ae4e0f9..9417333 100644 (file)
@@ -16,7 +16,7 @@
             </execute>
             <for index='idx' start='0' end='`$network-input-parameters.param_length`' >
                 <block>
-                    <switch test="`$network-input-parameters.param[$idx].name == 'accessID'`">
+                    <switch test="`$network-input-parameters.param[$idx].name == 'remote_id'`">
                         <outcome value='true'>
                             <switch test='`$network-input-parameters.param[$idx].value`'>
                                 <outcome value=''>
@@ -28,7 +28,7 @@
                                 </outcome>
                                 <outcome value='Other'>
                                     <set>
-                                        <parameter name='prop.bbs.accessID' value='`$network-input-parameters.param[$idx].value`' />
+                                        <parameter name='prop.bbs.remote_id' value='`$network-input-parameters.param[$idx].value`' />
                                     </set>
                                 </outcome>
                             </switch>
                             <return status='failure'>
                                 <parameter name='ack-final' value='Y'/>
                                 <parameter name="error-code" value="500" />
-                                <parameter name="error-message" value="Error executing Get token rest api" />
+                                <parameter name="error-message" value="Error executing queryTokenID,vaule is null" />
                             </return>
                         </outcome>
                     </switch>
                     <return status='failure'>
                         <parameter name='ack-final' value='Y'/>
                         <parameter name="error-code" value="500" />
-                        <parameter name="error-message" value="Error executing Get token rest api" />
+                        <parameter name="error-message" value="Error failed to call queryTokenID" />
                     </return>
                 </outcome>
             </execute>
                     <return status='failure'>
                         <parameter name='ack-final' value='Y'/>
                         <parameter name="error-code" value="500" />
-                        <parameter name="error-message" value="Error executing Get token rest api" />
+                        <parameter name="error-message" value="Error failed to call  createAccessConnectivityService" />
                     </return>
                 </outcome>
                 <outcome value='success'>
                             <return status='failure'>
                                 <parameter name='ack-final' value='Y'/>
                                 <parameter name="error-code" value="500" />
-                                <parameter name="error-message" value="`'Error createAccessConnectivityService failed: '+$service-result.errors.error[0].error-message`" />
+                                <parameter name="error-message" value="`'Error createAccessConnectivityService return: '+$service-result.errors.error[0].error-message`" />
                             </return>
                         </outcome>
                         <outcome value=''>
-                            <block></block>
+                            <block>
+                                <set>
+                                    <parameter name='prop.bbs.serviceID' value="`$service-result.accessE2Eservice.serviceID`"/>
+                                </set>
+                            </block>
                         </outcome>
                     </switch>
                 </outcome>
             </execute>
+            <block>
+                <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
+                    <parameter name="ctx-destination" value="prop.random-data"/>
+                    <outcome value='success'>
+                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
+                            <parameter name="ctx_memory_result_key" value="prop.random-data-list"/>
+                            <parameter name="original_string" value="`$prop.random-data`"/>
+                            <parameter name="regex" value="-"/>
+                            <outcome value='success'></outcome>
+                        </execute>
+                    </outcome>
+                </execute>
+                <set>
+                    <parameter name='vnf-id' value="`$prop.random-data-list[3]`"/>
+                    <parameter name='vnf-name' value="`'vnf-'+$prop.random-data-list[4]`"/>
+                </set>
+                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $vnf-id" >
+                    <parameter name= "vnf-id" value = "`$vnf-id`"/>
+                    <parameter name=  "vnf-name" value = "`$vnf-name`"/>
+                    <parameter name=  "vnf-type" value = "AccessConnectivity"/>
+                    <parameter name=  "service-id" value = "`$network-topology-operation-input.service-information.service-id`"/>
+                    <parameter name=  "prov-status" value = "ACTIVE"/>
+                    <parameter name=  "orchestration-status" value = "Active"/>
+                    <parameter name=  "is-closed-loop-disabled" value = "false" />
+                    <parameter name=  "model-invariant-id" value = "`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`"/>
+                    <parameter name=  "model-version-id" value = "`$network-topology-operation-input.network-information.onap-model-information.model-uuid`"/>
+                    <parameter name=  "model-customization-id" value = "`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`"/>
+                    <outcome value='failure'>
+                        <return status='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="error-code" value="500" />
+                            <parameter name="error-message" value="Failure calling AAI to save generic-vnf" />
+                        </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="generic-vnf instance does not exist in AAI" />
+                        </return>
+                    </outcome>
+                    <outcome value='success'></outcome>
+                </save>
+                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:metadata"
+ key="service-instance.service-instance-id = $network-topology-operation-input.service-information.service-id  
+       AND customer.global-customer-id = $network-topology-operation-input.service-information.global-customer-id
+         AND service-subscription.service-type = $network-topology-operation-input.service-information.subscription-service-type
+         AND service-instance.service-instance-id =  $network-topology-operation-input.service-information.service-instance-id"  force="true" pfx="tmp.AnAI-data"
+    >
+                    <parameter name="metadata.metadatum[0].metaname" value="remote-id" />
+                    <parameter name="metadata.metadatum[0].metaval" value="`$prop.bbs.remote_id`" />
+                    <parameter name="metadata.metadatum[1].metaname" value="controller-service-id" />
+                    <parameter name="metadata.metadatum[1].metaval" value="`$prop.bbs.serviceID`" />
+                    <outcome value='failure'>
+                        <return status='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="error-code" value="500" />
+                            <parameter name="error-message" value="Failure calling AAI to save metadatum" />
+                        </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="metadatum instance does not exist in AAI" />
+                        </return>
+                    </outcome>
+                    <outcome value='success'></outcome>
+                </save>
+                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:relationship-list" 
+      key="service-instance.service-instance-id =  $network-topology-operation-input.service-information.service-id
+         AND customer.global-customer-id = $network-topology-operation-input.service-information.global-customer-id
+         AND service-subscription.service-type =  $network-topology-operation-input.service-information.subscription-service-type 
+         AND service-instance.service-instance-id =  $network-topology-operation-input.service-information.service-instance-id" force="true" pfx="tmp.AnAI-data">
+                    <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $vnf-id`" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$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="Failure calling AAI to save metadatum" />
+                        </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="metadatum instance does not exist in AAI" />
+                        </return>
+                    </outcome>
+                    <outcome value='success'></outcome>
+                </save>
+            </block>
             <return status='success'>
                 <parameter name="ack-final-indicator" value="Y" />
                 <parameter name="error-code" value="200" />
             </return>
         </block>
     </method>
-</service-logic>
\ No newline at end of file
+</service-logic>