Add generic-resource-api DG seed code
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_validate-network-input.xml
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-network-input' mode='sync'>\r
2 <block atomic="true"><switch test='`$network-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='`$network-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='`$network-topology-operation-input.request-information.request-action`'>\r
13 <outcome value=''><return status='failure'>\r
14         <parameter name='ack-final' value='Y'/>\r
15         <parameter name="error-code" value="500" />\r
16     <parameter name="error-message" value="request-information.request-action is a required input" />\r
17 </return></outcome></switch><switch test='`$network-topology-operation-input.service-information.service-instance-id`'>\r
18 <outcome value=''><return status='failure'>\r
19         <parameter name='ack-final' value='Y'/>\r
20         <parameter name="error-code" value="500" />\r
21     <parameter name="error-message" value="service-information.service-instance-id is a required input" />\r
22 </return></outcome></switch><switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
23 <outcome value='assign'><block atomic="true"><switch test='`$network-topology-operation-input.request-information.request-action`'>\r
24 <outcome value='CreateNetworkInstance'><block atomic="true"><switch test='`$network-topology-operation-input.network-information.network-id`'>\r
25 \r
26 <outcome value=''><return status='success'>\r
27 <parameter name='' value='' />\r
28 </return></outcome><outcome value='Other'><block>\r
29 <switch test='`$service-data.networks.network_length`'>\r
30 <outcome value=''>\r
31 <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">\r
32 <parameter name="logger" value="message-log"/>\r
33 <parameter name="field1" value="__TIMESTAMP__"/>\r
34 <parameter name="field2" value="GENERIC-RESOURCE-API.validate-network-input"/>\r
35 <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
36 <parameter name="field4" value="Network id proveded but no network exists that matches"/>\r
37 <parameter name="field5" value="`$network-topology-operation-input.network-information.network-id`"/>\r
38 \r
39 \r
40 \r
41 </record></outcome><outcome value='Other'>\r
42 <block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
43 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
44 \r
45 <outcome value='true'>\r
46 <block atomic="true"><set>\r
47 <parameter name='tmp.nidx' value='`$nidx`' />\r
48 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
49 </set></block></outcome></switch></for><switch test="`$tmp.nidx`">\r
50 \r
51 <outcome value=''>\r
52 <return status='failure'>\r
53         <parameter name='ack-final' value='Y'/>\r
54         <parameter name="error-code" value="500" />\r
55     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
56 </return></outcome></switch></block></outcome></switch></block></outcome></switch><switch test='`$network-topology-operation-input.network-information.ecomp-model-information.model-invariant-uuid`'>\r
57 <outcome value=''><return status='failure'>\r
58         <parameter name='ack-final' value='Y'/>\r
59         <parameter name="error-code" value="500" />\r
60     <parameter name="error-message" value="network-information.ecomp-model-information.model-invariant-uuid is a required input" />\r
61 </return></outcome></switch><switch test='`$network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid`'>\r
62 <outcome value=''><return status='failure'>\r
63         <parameter name='ack-final' value='Y'/>\r
64         <parameter name="error-code" value="500" />\r
65     <parameter name="error-message" value="network-information.ecomp-model-information.model-customization-uuid is a required input" />\r
66 </return></outcome></switch><switch test='`$network-topology-operation-input.network-information.ecomp-model-information.model-uuid`'>\r
67 <outcome value=''><return status='failure'>\r
68         <parameter name='ack-final' value='Y'/>\r
69         <parameter name="error-code" value="500" />\r
70     <parameter name="error-message" value="network-information.ecomp-model-information.model-uuid is a required input" />\r
71 </return></outcome></switch><switch test='`$network-topology-operation-input.network-request-input.tenant`'>\r
72 <outcome value=''><return status='failure'>\r
73         <parameter name='ack-final' value='Y'/>\r
74         <parameter name="error-code" value="500" />\r
75     <parameter name="error-message" value="network-request-input.tenant is a required input" />\r
76 </return></outcome></switch><switch test='`$network-topology-operation-input.network-request-input.aic-cloud-region`'>\r
77 <outcome value=''><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="service-information.network-request-information.aic-cloud-region is a required input" />\r
81 </return></outcome></switch><switch test='`$network-topology-operation-input.service-information.ecomp-model-information.model-uuid`'>\r
82 <outcome value=''><block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
83   key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.ecomp-model-information.model-uuid'\r
84   pfx='service-model'><outcome value='not-found'>\r
85 <return status='failure'>\r
86         <parameter name='ack-final' value='Y'/>\r
87         <parameter name="error-code" value="500" />\r
88     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
89 </return></outcome><outcome value='failure'>\r
90 <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="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
94 </return></outcome></get-resource><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
95   key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid\r
96   and service_uuid = $service-data.service-information.ecomp-model-information.model-uuid'\r
97   pfx='network-model'>\r
98 \r
99 <outcome value='not-found'>\r
100 <return status='failure'>\r
101         <parameter name='ack-final' value='Y'/>\r
102         <parameter name="error-code" value="500" />\r
103     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
104     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
105     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
106 </return></outcome><outcome value='failure'>\r
107 <return status='failure'>\r
108         <parameter name='ack-final' value='Y'/>\r
109         <parameter name="error-code" value="500" />\r
110     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
111     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
112     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
113 </return></outcome></get-resource></block></outcome><outcome value='Other'><block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
114   key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.ecomp-model-information.model-uuid'\r
115   pfx='service-model'>\r
116 \r
117 <outcome value='not-found'>\r
118 <return status='failure'>\r
119         <parameter name='ack-final' value='Y'/>\r
120         <parameter name="error-code" value="500" />\r
121     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
122 </return></outcome><outcome value='failure'>\r
123 <return status='failure'>\r
124         <parameter name='ack-final' value='Y'/>\r
125         <parameter name="error-code" value="500" />\r
126     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
127 </return></outcome></get-resource><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
128   key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid\r
129   and service_uuid = $network-topology-operation-input.service-information.ecomp-model-information.model-uuid'\r
130   pfx='network-model'>\r
131 \r
132 <outcome value='not-found'>\r
133 <return status='failure'>\r
134         <parameter name='ack-final' value='Y'/>\r
135         <parameter name="error-code" value="500" />\r
136     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
137     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
138     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
139 </return></outcome><outcome value='failure'>\r
140 <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="`'No network model found for customization UUID ' \r
144     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
145     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
146 </return></outcome></get-resource></block></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>\r
147         <parameter name='ack-final' value='Y'/>\r
148         <parameter name="error-code" value="500" />\r
149     <parameter name="error-message" value="request-information.request-action is required to be CreateNetworkInstance for svc-action=assign" />\r
150 </return></outcome></switch></block></outcome><outcome value='activate'><block atomic="true"><switch test='`$network-topology-operation-input.request-information.request-action`'>\r
151 <outcome value='CreateNetworkInstance'><block atomic="true"><switch test='`$network-topology-operation-input.network-information.network-id`'>\r
152 <outcome value=''><return status='failure'>\r
153         <parameter name='ack-final' value='Y'/>\r
154         <parameter name="error-code" value="500" />\r
155     <parameter name="error-message" value="service-information.network-information.network-id is a required input" />\r
156 </return></outcome></switch><switch test='`$network-topology-operation-input.network-information.ecomp-model-information.model-invariant-uuid`'>\r
157 <outcome value=''><return status='failure'>\r
158         <parameter name='ack-final' value='Y'/>\r
159         <parameter name="error-code" value="500" />\r
160     <parameter name="error-message" value="network-information.ecomp-model-information.model-invariant-uuid is a required input" />\r
161 </return></outcome></switch><switch test='`$network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid`'>\r
162 <outcome value=''><return status='failure'>\r
163         <parameter name='ack-final' value='Y'/>\r
164         <parameter name="error-code" value="500" />\r
165     <parameter name="error-message" value="network-information.ecomp-model-information.model-customization-uuid is a required input" />\r
166 </return></outcome></switch><switch test='`$network-topology-operation-input.network-information.ecomp-model-information.model-uuid`'>\r
167 <outcome value=''><return status='failure'>\r
168         <parameter name='ack-final' value='Y'/>\r
169         <parameter name="error-code" value="500" />\r
170     <parameter name="error-message" value="network-information.ecomp-model-information.model-uuid is a required input" />\r
171 </return></outcome></switch><switch test='`$network-topology-operation-input.network-request-input.tenant`'>\r
172 <outcome value=''><return status='failure'>\r
173         <parameter name='ack-final' value='Y'/>\r
174         <parameter name="error-code" value="500" />\r
175     <parameter name="error-message" value="network-request-input.tenant is a required input" />\r
176 </return></outcome></switch><switch test='`$network-topology-operation-input.network-request-input.aic-cloud-region`'>\r
177 <outcome value=''><return status='failure'>\r
178         <parameter name='ack-final' value='Y'/>\r
179         <parameter name="error-code" value="500" />\r
180     <parameter name="error-message" value="service-information.network-request-information.aic-cloud-region is a required input" />\r
181 </return></outcome></switch><switch test='`$network-topology-operation-input.service-information.ecomp-model-information.model-uuid`'>\r
182 <outcome value=''><block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
183   key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.ecomp-model-information.model-uuid'\r
184   pfx='service-model'><outcome value='not-found'>\r
185 <return status='failure'>\r
186         <parameter name='ack-final' value='Y'/>\r
187         <parameter name="error-code" value="500" />\r
188     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
189 </return></outcome><outcome value='failure'>\r
190 <return status='failure'>\r
191         <parameter name='ack-final' value='Y'/>\r
192         <parameter name="error-code" value="500" />\r
193     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
194 </return></outcome></get-resource><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
195   key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid\r
196   and service_uuid = $service-data.service-information.ecomp-model-information.model-uuid'\r
197   pfx='network-model'>\r
198 \r
199 <outcome value='not-found'>\r
200 <return status='failure'>\r
201         <parameter name='ack-final' value='Y'/>\r
202         <parameter name="error-code" value="500" />\r
203     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
204     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
205     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
206 </return></outcome><outcome value='failure'>\r
207 <return status='failure'>\r
208         <parameter name='ack-final' value='Y'/>\r
209         <parameter name="error-code" value="500" />\r
210     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
211     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
212     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
213 </return></outcome></get-resource></block></outcome><outcome value='Other'><block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
214   key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.ecomp-model-information.model-uuid'\r
215   pfx='service-model'>\r
216 \r
217 <outcome value='not-found'>\r
218 <return status='failure'>\r
219         <parameter name='ack-final' value='Y'/>\r
220         <parameter name="error-code" value="500" />\r
221     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
222 </return></outcome><outcome value='failure'>\r
223 <return status='failure'>\r
224         <parameter name='ack-final' value='Y'/>\r
225         <parameter name="error-code" value="500" />\r
226     <parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
227 </return></outcome></get-resource><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
228   key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid\r
229   and service_uuid = $network-topology-operation-input.service-information.ecomp-model-information.model-uuid'\r
230   pfx='network-model'>\r
231 \r
232 <outcome value='not-found'>\r
233 <return status='failure'>\r
234         <parameter name='ack-final' value='Y'/>\r
235         <parameter name="error-code" value="500" />\r
236     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
237     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
238     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
239 </return></outcome><outcome value='failure'>\r
240 <return status='failure'>\r
241         <parameter name='ack-final' value='Y'/>\r
242         <parameter name="error-code" value="500" />\r
243     <parameter name="error-message" value="`'No network model found for customization UUID ' \r
244     + $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid +\r
245     ' and model-uuid ' + $network-topology-operation-input.service-information.ecomp-model-information.model-uuid`" />\r
246 </return></outcome></get-resource></block></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>\r
247         <parameter name='ack-final' value='Y'/>\r
248         <parameter name="error-code" value="500" />\r
249     <parameter name="error-message" value="request-information.request-action is required to be CreateNetworkInstance for svc-action=activate" />\r
250 </return></outcome></switch></block></outcome><outcome value='deactivate'><block atomic="true"><switch test='`$network-topology-operation-input.request-information.request-action`'>\r
251 <outcome value='DeleteNetworkInstance'><block atomic="true"><switch test='`$network-topology-operation-input.network-information.network-id`'>\r
252 <outcome value=''><return status='failure'>\r
253         <parameter name='ack-final' value='Y'/>\r
254         <parameter name="error-code" value="500" />\r
255     <parameter name="error-message" value="service-information.network-information.network-id is a required input" />\r
256 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>\r
257         <parameter name='ack-final' value='Y'/>\r
258         <parameter name="error-code" value="500" />\r
259     <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=deactivate" />\r
260 </return></outcome></switch></block></outcome><outcome value='unassign'><block atomic="true"><switch test='`$network-topology-operation-input.request-information.request-action`'>\r
261 <outcome value='DeleteNetworkInstance'><block atomic="true"><switch test='`$network-topology-operation-input.network-information.network-id`'>\r
262 <outcome value=''><return status='failure'>\r
263         <parameter name='ack-final' value='Y'/>\r
264         <parameter name="error-code" value="500" />\r
265     <parameter name="error-message" value="service-information.network-information.network-id is a required input" />\r
266 </return></outcome></switch></block></outcome><outcome value='Other'><return status='failure'>\r
267         <parameter name='ack-final' value='Y'/>\r
268         <parameter name="error-code" value="500" />\r
269     <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=unassign" />\r
270 </return></outcome></switch></block></outcome></switch><return status='success'>\r
271 <parameter name="ack-final-indicator" value="Y" />\r
272 <parameter name="error-code" value="200" />\r
273 <parameter name="error-message" value="`$error-message`" />\r
274 </return></block></method></service-logic>