Merge "Modify DG for VoLTE use case"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_l3-dci-connects-network-topology-operation-activate.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='network-topology-operation-activate' mode='sync'>
5         <block atomic='true'>
6             <call module='GENERIC-RESOURCE-API' rpc='validate-network-input-parameters' mode='sync' ></call>
7             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
8                           resource="l3-dci-connects"
9                           key="l3-dci-connects.id = $tmp.id AND depth = '1'"
10                           pfx='tmp.aai.l3-dci-connects' local-only='false' >
11                 <outcome value='success'>
12                     <block></block>
13                 </outcome>
14                 <outcome value='not-found'>
15                     <return status='failure'>
16                         <parameter name='error-code' value='' />
17                         <parameter name='error-message' value='' />
18                     </return>
19                 </outcome>
20                 <outcome value='Other'>
21                     <return status='failure'>
22                         <parameter name='error-code' value='' />
23                         <parameter name='error-message' value='' />
24                     </return>
25                 </outcome>
26             </get-resource>
27             <set>
28                 <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
29                 <parameter name='prop.sdncRestApi.templateDir' value='/opt/onap/sdnc/data' />
30                 <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
31                 <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
32             </set>
33             <for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
34                 <block>
35                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
36                         <outcome value='true'>
37                             <set>
38                                 <parameter name='prop.l3-dci-connects.name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
39                             </set>
40                         </outcome>
41                     </switch>
42                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'description'`">
43                         <outcome value='true'>
44                             <set>
45                                 <parameter name='prop.l3-dci-connects.description' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
46                             </set>
47                         </outcome>
48                     </switch>
49                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'router_id'`">
50                         <outcome value='true'>
51                             <set>
52                                 <parameter name='prop.l3-dci-connects.router_id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
53                             </set>
54                         </outcome>
55                     </switch>
56                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'local_networks'`">
57                         <outcome value='true'>
58                             <set>
59                                 <parameter name='prop.l3-dci-connects.local_networks' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
60                             </set>
61                         </outcome>
62                     </switch>
63                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'evpn_irts'`">
64                         <outcome value='true'>
65                             <set>
66                                 <parameter name='prop.l3-dci-connects.evpn_irts' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
67                             </set>
68                         </outcome>
69                     </switch>
70                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'evpn_erts'`">
71                         <outcome value='true'>
72                             <set>
73                                 <parameter name='prop.l3-dci-connects.evpn_erts' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
74                             </set>
75                         </outcome>
76                     </switch>
77                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'l3_vni'`">
78                         <outcome value='true'>
79                             <set>
80                                 <parameter name='prop.l3-dci-connects.l3_vni' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
81                             </set>
82                         </outcome>
83                     </switch>
84                 </block>
85             </for>
86             <execute plugin='com.att.sdnctl.sli.SliPluginUtils.SliPluginUtils' method='generateUUID' >
87                 <parameter name="ctx-destination" value="prop.l3-dci-connects.id"/>
88                 <outcome value='failure'>
89                     <return status='failure'>
90                         <parameter name='error-code' value='' />
91                         <parameter name='error-message' value='' />
92                     </return>
93                 </outcome>
94                 <outcome value='success'>
95                     <block></block>
96                 </outcome>
97             </execute>
98             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
99                 <parameter name="logger" value="message-log"/>
100                 <parameter name="field1" value="__TIMESTAMP__"/>
101                 <parameter name="field2" value="GENERIC-RESOURCE-API.l3-dci-connects-network-topology-operation-activate"/>
102                 <parameter name='field3' value='`$l3-dci-connects.name`' />
103                 <parameter name='field3' value='`$l3-dci-connects.id`' />
104                 <parameter name='field4' value='`$l3-dci-connects.description`' />
105                 <parameter name='field5' value='`$l3-dci-connects.router_id`' />
106                 <parameter name='field6' value='`$l3-dci-connects.local_networks`' />
107                 <parameter name='field7' value='`$l3-dci-connects.evpn_irts`' />
108                 <parameter name='field8' value='`$l3-dci-connects.evpn_erts`' />
109                 <parameter name='field9' value='`$l3-dci-connects.l3_vni`' />
110             </record>
111             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
112                 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'"/>
113                 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'"/>
114                 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user"/>
115                 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password"/>
116                 <parameter name="format" value="json"/>
117                 <parameter name="httpMethod" value="post"/>
118                 <parameter name="responsePrefix" value="restapi-result"/>
119                 <outcome value='failure'>
120                     <return status='failure'>
121                         <parameter name='ack-final' value='Y'/>
122                         <parameter name="error-code" value="500" />
123                         <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
124                     </return>
125                 </outcome>
126                 <outcome value='not-found'>
127                     <return status='failure'>
128                         <parameter name='ack-final' value='Y'/>
129                         <parameter name="error-code" value="500" />
130                         <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
131                     </return>
132                 </outcome>
133             </execute>
134             <return status='success'>
135             <return status='success'>
136                 <parameter name="ack-final-indicator" value="Y" />
137                 <parameter name="error-code" value="200" />
138                 <parameter name="error-message" value="`$error-message`" />
139             </return>
140         </block>
141     </method>
142 </service-logic>