b6ec9d95feca95a8283851bd37273b1187034c07
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-create-huawei.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
4     <method rpc='bbs-internet-profile-network-topology-operation-create-huawei' mode='sync'>
5         <block atomic="true">
6             <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-profile-network-topology-operation-common-huawei' mode='sync' ></call>
7             <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
8                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-internet-profile-operation.json'`" />
9                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/CreateInternetProfileInstance'`" />
10                 <parameter name="contentType" value="application/json"/>
11                 <parameter name="httpMethod" value="post"/>
12                 <parameter name="responsePrefix" value="service-result"/>
13                 <outcome value='failure'>
14                     <return status='failure'>
15                         <parameter name='ack-final' value='Y'/>
16                         <parameter name="error-code" value="500" />
17                         <parameter name="error-message" value="Error failed to call CreateInternetProfileInstance" />
18                     </return>
19                 </outcome>
20                 <outcome value='success'>
21                     <switch test="`$service-result.errors.error[0].error-message`">
22                         <outcome value='Other'>
23                             <return status='failure'>
24                                 <parameter name='ack-final' value='Y'/>
25                                 <parameter name="error-code" value="500" />
26                                 <parameter name="error-message" value="`'Error CreateInternetProfileInstance return: '+$service-result.errors.error[0].error-message`" />
27                             </return>
28                         </outcome>
29                         <outcome value=''>
30                             <block></block>
31                         </outcome>
32                     </switch>
33                 </outcome>
34             </execute>
35             <block>
36                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
37                     <parameter name="ctx-destination" value="prop.random-data"/>
38                     <outcome value='success'>
39                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
40                             <parameter name="ctx_memory_result_key" value="prop.random-data-list"/>
41                             <parameter name="original_string" value="`$prop.random-data`"/>
42                             <parameter name="regex" value="-"/>
43                             <outcome value='success'>
44                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
45                                     <parameter name="file" value="/opt/oak/logx.txt" />
46                                     <parameter name="field1" value="`$prop.random-data`" />
47                                 </record>
48                             </outcome>
49                         </execute>
50                     </outcome>
51                 </execute>
52                 <set>
53                     <parameter name='vnf-id' value="`$prop.random-data-list[3]`"/>
54                     <parameter name='vnf-name' value="`'vnf-'+$prop.random-data-list[4]`"/>
55                 </set>
56                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $vnf-id" >
57                     <parameter name= "vnf-id" value = "`$vnf-id`"/>
58                     <parameter name=  "vnf-name" value = "`$vnf-name`"/>
59                     <parameter name=  "vnf-type" value = "InternetProfile"/>
60                     <parameter name=  "service-id" value = "`$network-topology-operation-input.service-information.service-id`"/>
61                     <parameter name=  "prov-status" value = "ACTIVE"/>
62                     <parameter name=  "orchestration-status" value = "Active"/>
63                     <parameter name=  "ipv4-oam-address" value = "169.254.236.13"/>
64                     <parameter name=  "in-maint" value = "false" />
65                     <parameter name=  "is-closed-loop-disabled" value = "false" />
66                     <parameter name=  "model-invariant-id" value = "`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`"/>
67                     <parameter name=  "model-version-id" value = "`$network-topology-operation-input.network-information.onap-model-information.model-uuid`"/>
68                     <parameter name=  "model-customization-id" value = "`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`"/>
69                     <outcome value='failure'>
70                         <return status='failure'>
71                             <parameter name='ack-final' value='Y'/>
72                             <parameter name="error-code" value="500" />
73                             <parameter name="error-message" value="Failure calling AAI to save generic-vnf" />
74                         </return>
75                     </outcome>
76                     <outcome value='not-found'>
77                         <return status='failure'>
78                             <parameter name='ack-final' value='Y'/>
79                             <parameter name="error-code" value="500" />
80                             <parameter name="error-message" value="generic-vnf instance does not exist in AAI" />
81                         </return>
82                     </outcome>
83                     <outcome value='success'>
84                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
85                             <parameter name="file" value="/opt/oak/logx.txt" />
86                             <parameter name="field1" value="save generic-vnf success!" />
87                         </record>
88                     </outcome>
89                 </save>
90                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:metadata"
91  key="service-instance.service-instance-id = $network-topology-operation-input.service-information.service-id  
92         AND customer.global-customer-id = $network-topology-operation-input.service-information.global-customer-id
93           AND service-subscription.service-type = $network-topology-operation-input.service-information.subscription-service-type
94           AND service-instance.service-instance-id =  $network-topology-operation-input.service-information.service-instance-id"  force="true" pfx="tmp.AnAI-data">
95                     <parameter name="metadata.metadatum[0].metaname" value="service-type" />
96                     <parameter name="metadata.metadatum[0].metaval" value="`$prop.bbs.service_type`" />
97                     <parameter name="metadata.metadatum[1].metaname" value="up-speed" />
98                     <parameter name="metadata.metadatum[1].metaval" value="`$prop.bbs.up_speed`" />
99                     <parameter name="metadata.metadatum[2].metaname" value="down-speed" />
100                     <parameter name="metadata.metadatum[2].metaval" value="`$prop.bbs.down_speed`" />
101                     <parameter name="metadata.metadatum[3].metaname" value="cvlan" />
102                     <parameter name="metadata.metadatum[3].metaval" value="`$prop.bbs.c_vlan`" />
103                     <parameter name="metadata.metadatum[4].metaname" value="svlan" />
104                     <parameter name="metadata.metadatum[4].metaval" value="`$prop.bbs.s_vlan`" />
105                     <parameter name="metadata.metadatum[5].metaname" value="expected-ont-id" />
106                     <parameter name="metadata.metadatum[5].metaval" value="`$prop.bbs.ont_sn`" />
107                     <parameter name="metadata.metadatum[6].metaname" value="rgw-mac-address" />
108                     <parameter name="metadata.metadatum[6].metaval" value="`$prop.bbs.mac`" />
109                     <outcome value='failure'>
110                         <return status='failure'>
111                             <parameter name='ack-final' value='Y'/>
112                             <parameter name="error-code" value="500" />
113                             <parameter name="error-message" value="Failure calling AAI to save metadatum" />
114                         </return>
115                     </outcome>
116                     <outcome value='not-found'>
117                         <return status='failure'>
118                             <parameter name='ack-final' value='Y'/>
119                             <parameter name="error-code" value="500" />
120                             <parameter name="error-message" value="metadatum instance does not exist in AAI" />
121                         </return>
122                     </outcome>
123                     <outcome value='success'>
124                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
125                             <parameter name="file" value="/opt/oak/logx.txt" />
126                             <parameter name="field1" value="save metadatum success!" />
127                         </record>
128                     </outcome>
129                 </save>
130             </block>
131             <return status='success'>
132                 <parameter name="ack-final-indicator" value="Y" />
133                 <parameter name="error-code" value="200" />
134                 <parameter name="error-message" value="`$error-message`" />
135             </return>
136         </block>
137     </method>
138 </service-logic>