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='contrail-route-topology-operation-delete' mode='sync'>
7 <parameter name='tmp.ar.allotted-resource-id' value='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
8 <parameter name='tmp.ar.parent-service-instance-id' value='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
9 <parameter name='tmp.ar.sz-vnf-id' value='`$contrail-route-topology-operation-input.allotted-resource-data.security-zone-topology.security-zone-assignments.security-zone-vnf-id`' />
12 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/'
13 + $tmp.ar.allotted-resource-id
14 + '/allotted-resource-data/contrail-route-topology/'` " />
16 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
17 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
18 <parameter name='contextPrefix' value='prop' />
20 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
21 <parameter name="source" value="`$prop.restapi.cr-allottedresource`"/>
22 <parameter name="outputPath" value="tmp.ar-url"/>
23 <parameter name="target" value="{allotted-resource-id}"/>
24 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
26 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
27 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
28 <parameter name='restapiUser' value='`$prop.controller.user`' />
29 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
30 <parameter name='format' value='json' />
31 <parameter name='httpMethod' value='GET' />
32 <parameter name="responsePrefix" value="mdsal-ar" />
33 <outcome value='success'>
35 <switch test='`$mdsal-ar.contrail-route-allotted-resource_length`'>
39 <parameter name='bk-cr-ar' value='$mdsal-ar.' />
42 <parameter name='ar.' value='$mdsal-ar.contrail-route-allotted-resource[0].' />
44 <switch test='`$ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
45 <outcome value='PendingDelete'>
48 <outcome value='Other'>
49 <return status='failure'>
50 <parameter name='ack-final' value='Y'/>
51 <parameter name="error-code" value="500" />
52 <parameter name="error-message"
53 value="`'Existing contrail-route-allotted-resource with order status of ' + $ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
58 <parameter name='sz-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$sz-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
59 <parameter name='sz-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$sz-ar.allotted-resource-status.rpc-action`' />
60 <parameter name='sz-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$sz-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
64 <outcome value='Other'>
65 <return status='failure'>
66 <parameter name='ack-final' value='Y'/>
67 <parameter name="error-code" value="404" />
68 <parameter name="error-message" value="Error: Contrail Route not found" />
74 <outcome value='Other'>
76 <return status='failure'>
77 <parameter name='ack-final' value='Y'/>
78 <parameter name="error-code" value="404" />
79 <parameter name="error-message" value="Error: Contrail Route not found" />
85 <parameter name='ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
86 <parameter name='ar.allotted-resource-status.action' value="`$contrail-route-topology-operation-input.request-information.request-action` " />
87 <parameter name='ar.allotted-resource-status.rpc-name' value="contrail-route-topology-operation" />
88 <parameter name='ar.allotted-resource-status.rpc-action' value="`$contrail-route-topology-operation-input.sdnc-request-header.svc-action` " />
89 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$contrail-route-topology-operation-input.request-information.` " />
90 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$contrail-route-topology-operation-input.sdnc-request-header.` " />
91 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$contrail-route-topology-operation-input.service-information.` " />
92 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$contrail-route-topology-operation-input.allotted-resource-information.` " />
93 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.contrail-route-request-input.' value="`$contrail-route-topology-operation-input.contrail-route-request-input.` " />
96 <parameter name='ar-assignments.' value="`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.`" />
98 <switch test='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.source-network.network-id`'>
100 <return status='failure'>
101 <parameter name='ack-final' value='Y'/>
102 <parameter name="error-code" value="500" />
103 <parameter name="error-message" value="Error assigning contrail route. Source network not found" />
106 <outcome value='Other'>
108 <switch test='`$service-data.networks.network_length`'>
110 <return status='failure'>
111 <parameter name='ack-final' value='Y'/>
112 <parameter name="error-code" value="500" />
113 <parameter name="error-message" value="Error assigning contrail route. Source network not found" />
116 <outcome value='Other'>
117 <block atomic="true">
118 <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
119 <switch test="`$service-data.networks.network[$nidx].network-id == $ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.source-network.network-id`">
120 <outcome value='true'>
123 <parameter name='tmp.ar.cloud-region-id' value='`$service-data.networks.network[$nidx].network-data.network-topology.aic-cloud-region`' />
127 <outcome value='Other'>
128 <return status='failure'>
129 <parameter name='ack-final' value='Y'/>
130 <parameter name="error-code" value="500" />
131 <parameter name="error-message" value="Error assigning contrail route. Source network not found" />
142 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
143 <parameter name='api-name' value='network-policy' />
144 <parameter name='api-action' value='delete' />
145 <parameter name='resp-prefix' value='contrailResp' />
146 <parameter name='cloud-region-id' value='`$tmp.ar.cloud-region-id`' />
147 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
148 <outcome value='success'>
151 <outcome value='failure'>
152 <return status='failure'>
153 <parameter name='ack-final' value='Y'/>
154 <parameter name="error-code" value="500" />
155 <parameter name="error-message" value="Failed to create policy in Contrail" />
159 <call module='GENERIC-RESOURCE-API' rpc='policy-manager-delete-policy' mode='sync' >
160 <outcome value='failure'>
161 <block atomic="true"></block>
163 <outcome value='success'>
164 <block atomic="true"></block>
167 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
168 resource="network-policy"
169 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
170 <outcome value='failure'>
171 <return status='failure'>
172 <parameter name='ack-final' value='Y'/>
173 <parameter name="error-code" value="500" />
174 <parameter name="error-message" value="Failed to save network policy in AAI" />
177 <outcome value='not-found'>
178 <return status='failure'>
179 <parameter name='ack-final' value='Y'/>
180 <parameter name="error-code" value="500" />
181 <parameter name="error-message" value="Failed to save network policy in AAI" />
185 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
186 resource="allotted-resource"
187 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
188 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
189 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
190 allotted-resource.id = $tmp.ar.allotted-resource-id"
191 pfx='pfx' local-only='false' force='false'>
192 <parameter name="operational-status" value="null" />
193 <outcome value='failure'>
194 <return status='failure'>
195 <parameter name='ack-final' value='Y'/>
196 <parameter name="error-code" value="500" />
197 <parameter name="error-message" value="AAI failed" />
200 <outcome value='not-found'>
201 <return status='failure'>
202 <parameter name='ack-final' value='Y'/>
203 <parameter name="error-code" value="500" />
204 <parameter name="error-message" value="AAI failed" />
208 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
209 <parameter name="outputPath" value="tmp.current-time" />
212 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />
213 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$contrail-route-topology-operation-input.request-information.request-action`' />
214 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$contrail-route-topology-operation-input.sdnc-request-header.svc-action`' />
215 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$contrail-route-topology-operation-input.sdnc-request-header.svc-request-id`' />
216 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
218 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
219 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
220 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
221 <parameter name='restapiUser' value='`$prop.controller.user`' />
222 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
223 <parameter name='format' value='json' />
224 <parameter name='httpMethod' value='PUT' />
225 <parameter name="responsePrefix" value="mdsal-ar" />
226 <outcome value='success'>
229 <outcome value='failure'>
230 <return status='failure'>
231 <parameter name='ack-final' value='Y'/>
232 <parameter name="error-code" value="500" />
233 <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
236 <outcome value='not-found'>
237 <return status='failure'>
238 <parameter name='ack-final' value='Y'/>
239 <parameter name="error-code" value="500" />
240 <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
245 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
246 <parameter name='contrail-route-object-path' value="`$tmp.ar.self-link`"/>
247 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
248 + $contrail-route-topology-operation-input.service-information.service-instance-id
249 + '/service-data/service-topology/'`"/>
251 <return status='success'>
252 <parameter name="ack-final-indicator" value="Y" />
253 <parameter name="error-code" value="200" />
254 <parameter name="error-message" value="`$error-message`" />