Merge "Fix for overlay DGs."
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_dci-connects-network-topology-operation-deactivate.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" 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}">
3    <method rpc="dci-connects-network-topology-operation-deactivate" mode="sync">
4       <block atomic="true">
5          <call module="GENERIC-RESOURCE-API" rpc="validate-network-input-parameters" mode="sync" />
6          <block atomic="true">
7             <for index="idx" start="0" end="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length`">
8                <block>
9                   <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'site1_id'`">
10                      <outcome value="true">
11                         <set>
12                            <parameter name="prop.dci-connects.id" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" />
13                         </set>
14                      </outcome>
15                   </switch>
16                   <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'tunnelType'`">
17                      <outcome value="true">
18                         <set>
19                            <parameter name="prop.dci-connects.tunnelType" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" />
20                         </set>
21                      </outcome>
22                   </switch>
23                </block>
24             </for>
25             <block atomic="true">
26                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.dci-connects.id AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
27                   <outcome value="success">
28                      <block atomic="true" />
29                   </outcome>
30                   <outcome value="not-found">
31                      <return status="failure">
32                         <parameter name="error-code" value="" />
33                         <parameter name="error-message" value="" />
34                      </return>
35                   </outcome>
36                   <outcome value="Other">
37                      <return status="failure">
38                         <parameter name="error-code" value="" />
39                         <parameter name="error-message" value="" />
40                      </return>
41                   </outcome>
42                </get-resource>
43                <set>
44                   <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
45                   <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
46                   <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
47                   <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
48                </set>
49                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
50                   <parameter name="logger" value="message-log" />
51                   <parameter name="field1" value="__TIMESTAMP__" />
52                   <parameter name="field2" value="dci-network-topology-operation-deactivate" />
53                   <parameter name="field3" value="dci-connects.id" />
54                   <parameter name="field4" value="`$prop.dci-connects.id`" />
55                   <parameter name="field5" value="dci-connects.tunnelType" />
56                   <parameter name="field6" value="`$prop.dci-connects.tunnelType`" />
57                   <parameter name="field7" value="dci-connects.tunnelType" />
58                   <parameter name="field8" value="`$prop.dci-connects.tunnelType`" />
59                   <parameter name="field9" value="sdncRestApi.thirdpartySdnc.url" />
60                   <parameter name="field10" value="`$prop.sdncRestApi.thirdpartySdnc.url`" />
61                </record>
62                <switch test="`$prop.dci-connects.tunnelType`">
63                   <outcome value="L3-DCI">
64                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
65                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l3-dci-connects/' + $prop.dci-connects.id`" />
66                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
67                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
68                         <parameter name="format" value="json" />
69                         <parameter name="httpMethod" value="delete" />
70                         <parameter name="responsePrefix" value="restapi-result" />
71                      </execute>
72                   </outcome>
73                   <outcome value="L2-DCI">
74                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
75                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l2-dci-connects/' + $prop.dci-connects.id`" />
76                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
77                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
78                         <parameter name="format" value="json" />
79                         <parameter name="httpMethod" value="delete" />
80                         <parameter name="responsePrefix" value="restapi-result" />
81                      </execute>
82                   </outcome>
83                </switch>
84             </block>
85          </block>
86          <block atomic="true">
87             <for index="idx" start="0" end="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length`">
88                <block>
89                   <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'site2_id'`">
90                      <outcome value="true">
91                         <set>
92                            <parameter name="prop.dci-connects.id" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" />
93                         </set>
94                      </outcome>
95                   </switch>
96                </block>
97             </for>
98             <block atomic="true">
99                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.dci-connects.id AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
100                   <outcome value="success">
101                      <block atomic="true" />
102                   </outcome>
103                   <outcome value="not-found">
104                      <return status="failure">
105                         <parameter name="error-code" value="" />
106                         <parameter name="error-message" value="" />
107                      </return>
108                   </outcome>
109                   <outcome value="Other">
110                      <return status="failure">
111                         <parameter name="error-code" value="" />
112                         <parameter name="error-message" value="" />
113                      </return>
114                   </outcome>
115                </get-resource>
116                <set>
117                   <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
118                   <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
119                   <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
120                   <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
121                </set>
122                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
123                   <parameter name="logger" value="message-log" />
124                   <parameter name="field1" value="__TIMESTAMP__" />
125                   <parameter name="field2" value="dci-network-topology-operation-deactivate" />
126                   <parameter name="field3" value="dci-connects.id" />
127                   <parameter name="field4" value="`$prop.dci-connects.id`" />
128                   <parameter name="field5" value="dci-connects.tunnelType" />
129                   <parameter name="field6" value="`$prop.dci-connects.tunnelType`" />
130                   <parameter name="field7" value="dci-connects.tunnelType" />
131                   <parameter name="field8" value="`$prop.dci-connects.tunnelType`" />
132                   <parameter name="field9" value="sdncRestApi.thirdpartySdnc.url" />
133                   <parameter name="field10" value="`$prop.sdncRestApi.thirdpartySdnc.url`" />
134                </record>
135                <switch test="`$prop.dci-connects.tunnelType`">
136                   <outcome value="L3-DCI">
137                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
138                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l3-dci-connects/' + $prop.dci-connects.id`" />
139                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
140                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
141                         <parameter name="format" value="json" />
142                         <parameter name="httpMethod" value="delete" />
143                         <parameter name="responsePrefix" value="restapi-result" />
144                      </execute>
145                   </outcome>
146                   <outcome value="L2-DCI">
147                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
148                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l2-dci-connects/' + $prop.dci-connects.id`" />
149                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
150                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
151                         <parameter name="format" value="json" />
152                         <parameter name="httpMethod" value="delete" />
153                         <parameter name="responsePrefix" value="restapi-result" />
154                      </execute>
155                   </outcome>
156                </switch>
157             </block>
158          </block>
159          <block atomic="true">
160             <set>
161                <parameter name="service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />
162                <parameter name="service-data.networks.network[$tmp.nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />
163             </set>
164             <set>
165                <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`" />
166             </set>
167             <set>
168                <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $networkId  + '/network-data/network-topology/'` " />
169             </set>
170             <set>
171                <parameter name="service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status" value="Deleted" />
172                <parameter name="service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action" value="`$network-topology-operation-input.sdnc-request-header.svc-action`" />
173                <parameter name="service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action" value="`$network-topology-operation-input.request-information.request-action`" />
174             </set>
175          </block>
176          <return status="success">
177             <parameter name="ack-final-indicator" value="Y" />
178             <parameter name="error-code" value="200" />
179             <parameter name="error-message" value="`$error-message`" />
180          </return>
181       </block>
182    </method>
183 </service-logic>