1 <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}'><method rpc='validate-contrail-route-input' mode='sync'>
\r
2 <block atomic="true"><switch test='`$contrail-route-topology-operation-input.sdnc-request-header.svc-action`'>
\r
3 <outcome value=''><return status='failure'>
\r
4 <parameter name='ack-final' value='Y'/>
\r
5 <parameter name="error-code" value="500" />
\r
6 <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
\r
7 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.sdnc-request-header.svc-request-id`'>
\r
8 <outcome value=''><return status='failure'>
\r
9 <parameter name='ack-final' value='Y'/>
\r
10 <parameter name="error-code" value="500" />
\r
11 <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
\r
12 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
13 <outcome value='CreateContrailRouteInstance'><block>
\r
14 </block></outcome><outcome value='DeleteContrailRouteInstance'><block>
\r
15 </block></outcome><outcome value=''><return status='failure'>
\r
16 <parameter name='ack-final' value='Y'/>
\r
17 <parameter name="error-code" value="500" />
\r
18 <parameter name="error-message" value="request-information.request-action is a required input" />
\r
19 </return></outcome><outcome value='Other'><return status='failure'>
\r
20 <parameter name='ack-final' value='Y'/>
\r
21 <parameter name="error-code" value="500" />
\r
22 <parameter name="error-message" value="Invalid request-information.request-action " />
\r
23 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.service-information.service-instance-id`'>
\r
24 <outcome value=''><return status='failure'>
\r
25 <parameter name='ack-final' value='Y'/>
\r
26 <parameter name="error-code" value="500" />
\r
27 <parameter name="error-message" value="service-information.service-instance-id is a required input" />
\r
28 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.sdnc-request-header.svc-action`'>
\r
29 <outcome value='assign'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
30 <outcome value='CreateContrailRouteInstance'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
\r
31 <outcome value=''><return status='failure'>
\r
32 <parameter name='ack-final' value='Y'/>
\r
33 <parameter name="error-code" value="500" />
\r
34 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
\r
35 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-type`'>
\r
36 <outcome value=''><return status='failure'>
\r
37 <parameter name='ack-final' value='Y'/>
\r
38 <parameter name="error-code" value="500" />
\r
39 <parameter name="error-message" value="allotted-resource-information.allotted-resource-type is a required input" />
\r
40 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
\r
41 <outcome value=''><return status='failure'>
\r
42 <parameter name='ack-final' value='Y'/>
\r
43 <parameter name="error-code" value="500" />
\r
44 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
\r
45 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`'>
\r
46 <outcome value=''><return status='failure'>
\r
47 <parameter name='ack-final' value='Y'/>
\r
48 <parameter name="error-code" value="500" />
\r
49 <parameter name="error-message" value="contrail-route-information.onap-model-information.model-customization-uuid is a required input" />
\r
50 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-id`'>
\r
51 <outcome value=''><return status='failure'>
\r
52 <parameter name='ack-final' value='Y'/>
\r
53 <parameter name="error-code" value="500" />
\r
54 <parameter name="error-message" value="contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-id is a required input" />
\r
55 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-role`'>
\r
56 <outcome value=''><return status='failure'>
\r
57 <parameter name='ack-final' value='Y'/>
\r
58 <parameter name="error-code" value="500" />
\r
59 <parameter name="error-message" value="contrail-route-topology-operation-input.contrail-route-request-input.source-network.network-role is a required input" />
\r
60 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.dest-network.network-role`'>
\r
61 <outcome value=''><return status='failure'>
\r
62 <parameter name='ack-final' value='Y'/>
\r
63 <parameter name="error-code" value="500" />
\r
64 <parameter name="error-message" value="contrail-topology-operation-input.contrail-route-request-input.dest-network.network-role is a required input" />
\r
65 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.contrail-route-request-input.contrail-applied-service-info.service-instance-id`'>
\r
66 <outcome value=''><return status='failure'>
\r
67 <parameter name='ack-final' value='Y'/>
\r
68 <parameter name="error-code" value="500" />
\r
69 <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" />
\r
70 </return></outcome></switch><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
71 key='SELECT * from ALLOTTED_RESOURCE_MODEL WHERE customization_uuid = $contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid'
\r
74 <outcome value='not-found'>
\r
75 <return status='failure'>
\r
76 <parameter name='ack-final' value='Y'/>
\r
77 <parameter name="error-code" value="500" />
\r
78 <parameter name="error-message" value="`'No allotted resource model found for model customization UUID ' + $contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`" />
\r
79 </return></outcome><outcome value='failure'>
\r
80 <return status='failure'>
\r
81 <parameter name='ack-final' value='Y'/>
\r
82 <parameter name="error-code" value="500" />
\r
83 <parameter name="error-message" value="`'No allotted resource model found for model customization UUID ' + $contrail-route-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`" />
\r
84 </return></outcome></get-resource></block></outcome><outcome value='Other'><return status='failure'>
\r
85 <parameter name='ack-final' value='Y'/>
\r
86 <parameter name="error-code" value="500" />
\r
87 <parameter name="error-message" value="request-information.request-action is a required to be CreateContrailRouteInstance for svc-action=assign" />
\r
88 </return></outcome></switch></block></outcome><outcome value='create'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
89 <outcome value='CreateContrailRouteInstance'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
\r
90 <outcome value=''><return status='failure'>
\r
91 <parameter name='ack-final' value='Y'/>
\r
92 <parameter name="error-code" value="500" />
\r
93 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
\r
94 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
\r
95 <outcome value=''><return status='failure'>
\r
96 <parameter name='ack-final' value='Y'/>
\r
97 <parameter name="error-code" value="500" />
\r
98 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
\r
99 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>
\r
100 <parameter name='ack-final' value='Y'/>
\r
101 <parameter name="error-code" value="500" />
\r
102 <parameter name="error-message" value="request-information.request-action is a required to be CreateNetworkInstance for svc-action=create" />
\r
103 </return></outcome></switch></block></outcome><outcome value='activate'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
104 <outcome value='CreateContrailRouteInstance'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
\r
105 <outcome value=''><return status='failure'>
\r
106 <parameter name='ack-final' value='Y'/>
\r
107 <parameter name="error-code" value="500" />
\r
108 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
\r
109 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
\r
110 <outcome value=''><return status='failure'>
\r
111 <parameter name='ack-final' value='Y'/>
\r
112 <parameter name="error-code" value="500" />
\r
113 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
\r
114 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>
\r
115 <parameter name='ack-final' value='Y'/>
\r
116 <parameter name="error-code" value="500" />
\r
117 <parameter name="error-message" value="request-information.request-action is a required to be CreateContrailRouteInstance for svc-action=activate" />
\r
118 </return></outcome></switch></block></outcome><outcome value='deactivate'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
119 <outcome value='DeleteContrailRouteInstance'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
\r
120 <outcome value=''><return status='failure'>
\r
121 <parameter name='ack-final' value='Y'/>
\r
122 <parameter name="error-code" value="500" />
\r
123 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
\r
124 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
\r
125 <outcome value=''><return status='failure'>
\r
126 <parameter name='ack-final' value='Y'/>
\r
127 <parameter name="error-code" value="500" />
\r
128 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
\r
129 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>
\r
130 <parameter name='ack-final' value='Y'/>
\r
131 <parameter name="error-code" value="500" />
\r
132 <parameter name="error-message" value="request-information.request-action is a required to be DeleteContrailRouteInstance for svc-action=deactivate" />
\r
133 </return></outcome></switch></block></outcome><outcome value='delete'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
134 <outcome value='DeleteContrailRouteInstance'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
\r
135 <outcome value=''><return status='failure'>
\r
136 <parameter name='ack-final' value='Y'/>
\r
137 <parameter name="error-code" value="500" />
\r
138 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
\r
139 </return></outcome></switch><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
\r
140 <outcome value=''><return status='failure'>
\r
141 <parameter name='ack-final' value='Y'/>
\r
142 <parameter name="error-code" value="500" />
\r
143 <parameter name="error-message" value="allotted-resource-information.parent-service-instance-id is a required input" />
\r
144 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>
\r
145 <parameter name='ack-final' value='Y'/>
\r
146 <parameter name="error-code" value="500" />
\r
147 <parameter name="error-message" value="request-information.request-action is a required to be DeleteContrailRouteInstance for svc-action=delete" />
\r
148 </return></outcome></switch></block></outcome><outcome value='unassign'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.request-information.request-action`'>
\r
149 <outcome value='DeleteContrailRouteInstance'><block atomic="true"><switch test='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
\r
150 <outcome value=''><return status='failure'>
\r
151 <parameter name='ack-final' value='Y'/>
\r
152 <parameter name="error-code" value="500" />
\r
153 <parameter name="error-message" value="allotted-resource-information.allotted-resource-id is a required input" />
\r
154 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>
\r
155 <parameter name='ack-final' value='Y'/>
\r
156 <parameter name="error-code" value="500" />
\r
157 <parameter name="error-message" value="request-information.request-action is a required to be DeleteContrailRouteInstance for svc-action=unassign" />
\r
158 </return></outcome></switch></block></outcome></switch><return status='success'>
\r
159 <parameter name="ack-final-indicator" value="Y" />
\r
160 <parameter name="error-code" value="200" />
\r
161 <parameter name="error-message" value="`$error-message`" />
\r
162 </return></block></method></service-logic>
\r