1883baf85a16aeb18aadfa8e39de8f1c28f72098
[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"?>\r
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}">\r
3    <method rpc="dci-connects-network-topology-operation-deactivate" mode="sync">\r
4       <block atomic="true">\r
5          <call module="GENERIC-RESOURCE-API" rpc="validate-network-input-parameters" mode="sync" />\r
6          <block atomic="true">\r
7             <for index="idx" start="0" end="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length`">\r
8                <block>\r
9                   <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'site1_id'`">\r
10                      <outcome value="true">\r
11                         <set>\r
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`" />\r
13                         </set>\r
14                      </outcome>\r
15                   </switch>\r
16                   <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'tunnelType'`">\r
17                      <outcome value="true">\r
18                         <set>\r
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`" />\r
20                         </set>\r
21                      </outcome>\r
22                   </switch>\r
23                </block>\r
24             </for>\r
25             <block atomic="true">\r
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">\r
27                   <outcome value="success">\r
28                      <set>\r
29                         <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
30                         <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />\r
31                         <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
32                         <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
33                      </set>\r
34                   </outcome>\r
35                   <outcome value="not-found">\r
36                      <return status="failure">\r
37                         <parameter name="error-code" value="" />\r
38                         <parameter name="error-message" value="" />\r
39                      </return>\r
40                   </outcome>\r
41                   <outcome value="Other">\r
42                      <return status="failure">\r
43                         <parameter name="error-code" value="" />\r
44                         <parameter name="error-message" value="" />\r
45                      </return>\r
46                   </outcome>\r
47                </get-resource>\r
48                <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties">\r
49                   <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties" />\r
50                   <parameter name="contextPrefix" value="prop" />\r
51                </execute>\r
52                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
53                   <parameter name="logger" value="message-log" />\r
54                   <parameter name="field1" value="__TIMESTAMP__" />\r
55                   <parameter name="field2" value="dci-network-topology-operation-deactivate" />\r
56                   <parameter name="field3" value="dci-connects.id" />\r
57                   <parameter name="field4" value="`$prop.dci-connects.id`" />\r
58                   <parameter name="field5" value="dci-connects.tunnelType" />\r
59                   <parameter name="field6" value="`$prop.dci-connects.tunnelType`" />\r
60                   <parameter name="field7" value="dci-connects.tunnelType" />\r
61                   <parameter name="field8" value="`$prop.dci-connects.tunnelType`" />\r
62                   <parameter name="field9" value="sdncRestApi.thirdpartySdnc.url" />\r
63                   <parameter name="field10" value="`$prop.sdncRestApi.thirdpartySdnc.url`" />\r
64                </record>\r
65                <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
66                   <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
67                   <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
68                   <parameter name="format" value="json" />\r
69                   <parameter name="httpMethod" value="post" />\r
70                   <parameter name="responsePrefix" value="token-result" />\r
71                   <outcome value="success">\r
72                      <set>\r
73                         <parameter name="prop.sdncRestApi.token_id" value="$token-result.token_id" />\r
74                      </set>\r
75                   </outcome>\r
76                   <outcome value="failure">\r
77                      <return status="failure">\r
78                         <parameter name="ack-final" value="Y" />\r
79                         <parameter name="error-code" value="500" />\r
80                         <parameter name="error-message" value="Error executing get token rest api" />\r
81                      </return>\r
82                   </outcome>\r
83                </execute>\r
84                <switch test="`$prop.dci-connects.tunnelType`">\r
85                   <outcome value="L3-DCI">\r
86                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
87                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l3-dci-connects/' + $prop.dci-connects.id`" />\r
88                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
89                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
90                         <parameter name="format" value="json" />\r
91                         <parameter name="httpMethod" value="delete" />\r
92                         <parameter name="responsePrefix" value="restapi-result" />\r
93                         <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
94                      </execute>\r
95                   </outcome>\r
96                   <outcome value="L2-DCI">\r
97                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
98                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l2-dci-connects/' + $prop.dci-connects.id`" />\r
99                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
100                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
101                         <parameter name="format" value="json" />\r
102                         <parameter name="httpMethod" value="delete" />\r
103                         <parameter name="responsePrefix" value="restapi-result" />\r
104                         <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
105                      </execute>\r
106                   </outcome>\r
107                </switch>\r
108             </block>\r
109          </block>\r
110          <block atomic="true">\r
111             <for index="idx" start="0" end="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length`">\r
112                <block>\r
113                   <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'site2_id'`">\r
114                      <outcome value="true">\r
115                         <set>\r
116                            <parameter name="prop.dci-connects.id" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" />\r
117                         </set>\r
118                      </outcome>\r
119                   </switch>\r
120                </block>\r
121             </for>\r
122             <block atomic="true">\r
123                <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">\r
124                   <outcome value="success">\r
125                      <set>\r
126                         <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
127                         <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />\r
128                         <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
129                         <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
130                      </set>\r
131                   </outcome>\r
132                   <outcome value="not-found">\r
133                      <return status="failure">\r
134                         <parameter name="error-code" value="" />\r
135                         <parameter name="error-message" value="" />\r
136                      </return>\r
137                   </outcome>\r
138                   <outcome value="Other">\r
139                      <return status="failure">\r
140                         <parameter name="error-code" value="" />\r
141                         <parameter name="error-message" value="" />\r
142                      </return>\r
143                   </outcome>\r
144                </get-resource>\r
145                <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties">\r
146                   <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties" />\r
147                   <parameter name="contextPrefix" value="prop" />\r
148                </execute>\r
149                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
150                   <parameter name="logger" value="message-log" />\r
151                   <parameter name="field1" value="__TIMESTAMP__" />\r
152                   <parameter name="field2" value="dci-network-topology-operation-deactivate" />\r
153                   <parameter name="field3" value="dci-connects.id" />\r
154                   <parameter name="field4" value="`$prop.dci-connects.id`" />\r
155                   <parameter name="field5" value="dci-connects.tunnelType" />\r
156                   <parameter name="field6" value="`$prop.dci-connects.tunnelType`" />\r
157                   <parameter name="field7" value="dci-connects.tunnelType" />\r
158                   <parameter name="field8" value="`$prop.dci-connects.tunnelType`" />\r
159                   <parameter name="field9" value="sdncRestApi.thirdpartySdnc.url" />\r
160                   <parameter name="field10" value="`$prop.sdncRestApi.thirdpartySdnc.url`" />\r
161                </record>\r
162                <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
163                   <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
164                   <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
165                   <parameter name="format" value="json" />\r
166                   <parameter name="httpMethod" value="post" />\r
167                   <parameter name="responsePrefix" value="token-result" />\r
168                   <outcome value="success">\r
169                      <set>\r
170                         <parameter name="prop.sdncRestApi.token_id" value="$token-result.token_id" />\r
171                      </set>\r
172                   </outcome>\r
173                   <outcome value="failure">\r
174                      <return status="failure">\r
175                         <parameter name="ack-final" value="Y" />\r
176                         <parameter name="error-code" value="500" />\r
177                         <parameter name="error-message" value="Error executing get token rest api" />\r
178                      </return>\r
179                   </outcome>\r
180                </execute>\r
181                <switch test="`$prop.dci-connects.tunnelType`">\r
182                   <outcome value="L3-DCI">\r
183                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
184                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l3-dci-connects/' + $prop.dci-connects.id`" />\r
185                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
186                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
187                         <parameter name="format" value="json" />\r
188                         <parameter name="httpMethod" value="delete" />\r
189                         <parameter name="responsePrefix" value="restapi-result" />\r
190                         <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
191                      </execute>\r
192                   </outcome>\r
193                   <outcome value="L2-DCI">\r
194                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
195                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/v2.0/l2-dci-connects/' + $prop.dci-connects.id`" />\r
196                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
197                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
198                         <parameter name="format" value="json" />\r
199                         <parameter name="httpMethod" value="delete" />\r
200                         <parameter name="responsePrefix" value="restapi-result" />\r
201                         <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
202                      </execute>\r
203                   </outcome>\r
204                </switch>\r
205             </block>\r
206          </block>\r
207          <block atomic="true">\r
208             <set>\r
209                <parameter name="service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />\r
210                <parameter name="service-data.networks.network[$tmp.nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />\r
211             </set>\r
212             <set>\r
213                <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`" />\r
214             </set>\r
215             <set>\r
216                <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/'` " />\r
217             </set>\r
218             <set>\r
219                <parameter name="service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status" value="Deleted" />\r
220                <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`" />\r
221                <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`" />\r
222             </set>\r
223          </block>\r
224          <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $network-topology-operation-input.network-information.network-id" />\r
225          <return status="success">\r
226             <parameter name="ack-final-indicator" value="Y" />\r
227             <parameter name="error-code" value="200" />\r
228             <parameter name="error-message" value="`$error-message`" />\r
229          </return>\r
230       </block>\r
231    </method>\r
232 </service-logic>\r