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='validate-contrail-route-input' mode='sync'>
6 <switch test='`$contrail-route-topology-operation-input.sdnc-request-header.svc-action`'>
8 <return status='failure'>
9 <parameter name='ack-final' value='Y'/>
10 <parameter name="error-code" value="500" />
11 <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
15 <switch test='`$contrail-route-topology-operation-input.sdnc-request-header.svc-request-id`'>
17 <return status='failure'>
18 <parameter name='ack-final' value='Y'/>
19 <parameter name="error-code" value="500" />
20 <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
24 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
25 <outcome value='CreateContrailRouteInstance'>
28 <outcome value='DeleteContrailRouteInstance'>
32 <return status='failure'>
33 <parameter name='ack-final' value='Y'/>
34 <parameter name="error-code" value="500" />
35 <parameter name="error-message" value="request-information.request-action is a required input" />
38 <outcome value='Other'>
39 <return status='failure'>
40 <parameter name='ack-final' value='Y'/>
41 <parameter name="error-code" value="500" />
42 <parameter name="error-message" value="Invalid request-information.request-action " />
46 <switch test='`$contrail-route-topology-operation-input.service-information.service-instance-id`'>
48 <return status='failure'>
49 <parameter name='ack-final' value='Y'/>
50 <parameter name="error-code" value="500" />
51 <parameter name="error-message" value="service-information.service-instance-id is a required input" />
55 <switch test='`$contrail-route-topology-operation-input.sdnc-request-header.svc-action`'>
56 <outcome value='assign'>
58 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
59 <outcome value='CreateContrailRouteInstance'>
61 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
63 <return status='failure'>
64 <parameter name='ack-final' value='Y'/>
65 <parameter name="error-code" value="500" />
66 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
70 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-type`'>
72 <return status='failure'>
73 <parameter name='ack-final' value='Y'/>
74 <parameter name="error-code" value="500" />
75 <parameter name="error-message" value="allotted-resource-information.allotted-resource-type is a required input" />
79 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
81 <return status='failure'>
82 <parameter name='ack-final' value='Y'/>
83 <parameter name="error-code" value="500" />
84 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
88 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`'>
90 <return status='failure'>
91 <parameter name='ack-final' value='Y'/>
92 <parameter name="error-code" value="500" />
93 <parameter name="error-message" value="contrail-route-information.onap-model-information.model-customization-uuid is a required input" />
97 <switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-id`'>
99 <return status='failure'>
100 <parameter name='ack-final' value='Y'/>
101 <parameter name="error-code" value="500" />
102 <parameter name="error-message" value="contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-id is a required input" />
106 <switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-role`'>
108 <return status='failure'>
109 <parameter name='ack-final' value='Y'/>
110 <parameter name="error-code" value="500" />
111 <parameter name="error-message" value="contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-role is a required input" />
115 <switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.dest-network.network-role`'>
117 <return status='failure'>
118 <parameter name='ack-final' value='Y'/>
119 <parameter name="error-code" value="500" />
120 <parameter name="error-message" value="contrail-topology-operation-input.contrail-route-request-input.dest-network.network-role is a required input" />
124 <switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.contrail-applied-service-info.service-instance-id`'>
126 <return status='failure'>
127 <parameter name='ack-final' value='Y'/>
128 <parameter name="error-code" value="500" />
129 <parameter name="error-message" value="contrail-route-topology-operation-input.contrail-route-request-input.contrail-applied-service-info.service-instance-id is a required input" />
133 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
134 key='SELECT * from ALLOTTED_RESOURCE_MODEL WHERE customization_uuid = $contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid'
136 <outcome value='not-found'>
137 <return status='failure'>
138 <parameter name='ack-final' value='Y'/>
139 <parameter name="error-code" value="500" />
140 <parameter name="error-message" value="`'No alloted resource model found for model customization UUID ' + $contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`" />
143 <outcome value='failure'>
144 <return status='failure'>
145 <parameter name='ack-final' value='Y'/>
146 <parameter name="error-code" value="500" />
147 <parameter name="error-message" value="`'No alloted resource model found for model customization UUID ' + $contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`" />
153 <outcome value='Other'>
154 <return status='failure'>
155 <parameter name='ack-final' value='Y'/>
156 <parameter name="error-code" value="500" />
157 <parameter name="error-message" value="request-information.request-action is a required to be CreateContrailRouteInstance for svc-action=assign" />
163 <outcome value='create'>
164 <block atomic="true">
165 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
166 <outcome value='CreateContrailRouteInstance'>
167 <block atomic="true">
168 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
170 <return status='failure'>
171 <parameter name='ack-final' value='Y'/>
172 <parameter name="error-code" value="500" />
173 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
177 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
179 <return status='failure'>
180 <parameter name='ack-final' value='Y'/>
181 <parameter name="error-code" value="500" />
182 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
188 <outcome value='Other'>
189 <return status='failure'>
190 <parameter name='ack-final' value='Y'/>
191 <parameter name="error-code" value="500" />
192 <parameter name="error-message" value="request-information.request-action is a required to be CreateNetworkInstance for svc-action=create" />
198 <outcome value='activate'>
199 <block atomic="true">
200 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
201 <outcome value='CreateContrailRouteInstance'>
202 <block atomic="true">
203 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
205 <return status='failure'>
206 <parameter name='ack-final' value='Y'/>
207 <parameter name="error-code" value="500" />
208 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
212 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
214 <return status='failure'>
215 <parameter name='ack-final' value='Y'/>
216 <parameter name="error-code" value="500" />
217 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
223 <outcome value='Other'>
224 <return status='failure'>
225 <parameter name='ack-final' value='Y'/>
226 <parameter name="error-code" value="500" />
227 <parameter name="error-message" value="request-information.request-action is a required to be CreateContrailRouteInstance for svc-action=activate" />
233 <outcome value='deactivate'>
234 <block atomic="true">
235 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
236 <outcome value='DeleteContrailRouteInstance'>
237 <block atomic="true">
238 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
240 <return status='failure'>
241 <parameter name='ack-final' value='Y'/>
242 <parameter name="error-code" value="500" />
243 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
247 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
249 <return status='failure'>
250 <parameter name='ack-final' value='Y'/>
251 <parameter name="error-code" value="500" />
252 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
258 <outcome value='Other'>
259 <return status='failure'>
260 <parameter name='ack-final' value='Y'/>
261 <parameter name="error-code" value="500" />
262 <parameter name="error-message" value="request-information.request-action is a required to be DeleteContrailRouteInstance for svc-action=deactivate" />
268 <outcome value='delete'>
269 <block atomic="true">
270 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
271 <outcome value='DeleteContrailRouteInstance'>
272 <block atomic="true">
273 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
275 <return status='failure'>
276 <parameter name='ack-final' value='Y'/>
277 <parameter name="error-code" value="500" />
278 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
282 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
284 <return status='failure'>
285 <parameter name='ack-final' value='Y'/>
286 <parameter name="error-code" value="500" />
287 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
293 <outcome value='Other'>
294 <return status='failure'>
295 <parameter name='ack-final' value='Y'/>
296 <parameter name="error-code" value="500" />
297 <parameter name="error-message" value="request-information.request-action is a required to be DeleteContrailRouteInstance for svc-action=delete" />
303 <outcome value='unassign'>
304 <block atomic="true">
305 <switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
306 <outcome value='DeleteContrailRouteInstance'>
307 <block atomic="true">
308 <switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
310 <return status='failure'>
311 <parameter name='ack-final' value='Y'/>
312 <parameter name="error-code" value="500" />
313 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
319 <outcome value='Other'>
320 <return status='failure'>
321 <parameter name='ack-final' value='Y'/>
322 <parameter name="error-code" value="500" />
323 <parameter name="error-message" value="request-information.request-action is a required to be DeleteContrailRouteInstance for svc-action=unassign" />
330 <return status='success'>
331 <parameter name="ack-final-indicator" value="Y" />
332 <parameter name="error-code" value="200" />
333 <parameter name="error-message" value="`$error-message`" />