Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_port-mirror-topology-operation-validation.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
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}'>\r
4     <method rpc='port-mirror-topology-operation-validation' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$service-data.service-information.subscription-service-type`'>\r
7                 <outcome value=''>\r
8                     <return status='failure'>\r
9                         <parameter name='error-code' value='500' />\r
10                         <parameter name='error-message' value="`'No service exists for service instance ' + $port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
11                         <parameter name='ack-final' value='Y' />\r
12                     </return>\r
13                 </outcome>\r
14             </switch>\r
15             <switch test='`$port-mirror-topology-operation-input.configuration-information.configuration-id`'>\r
16                 <outcome value=''>\r
17                     <return status='failure'>\r
18                         <parameter name='error-code' value='500' />\r
19                         <parameter name='error-message' value="No configuration-id supplied in input" />\r
20                         <parameter name='ack-final' value='Y' />\r
21                     </return>\r
22                 </outcome>\r
23             </switch>\r
24             <switch test='`$port-mirror-topology-operation-input.configuration-information.configuration-sub-type`'>\r
25                 <outcome value='pprobe'>\r
26                     <set>\r
27                         <parameter name='port-mirror-topology-operation-input.configuration-information.configuration-sub-type' value='pprobe' />\r
28                     </set>\r
29                 </outcome>\r
30                 <outcome value='PPROBE'>\r
31                     <set>\r
32                         <parameter name='port-mirror-topology-operation-input.configuration-information.configuration-sub-type' value='pprobe' />\r
33                     </set>\r
34                 </outcome>\r
35                 <outcome value='vprobe'>\r
36                     <set>\r
37                         <parameter name='port-mirror-topology-operation-input.configuration-information.configuration-sub-type' value='vprobe' />\r
38                     </set>\r
39                 </outcome>\r
40                 <outcome value='VPROBE'>\r
41                     <set>\r
42                         <parameter name='port-mirror-topology-operation-input.configuration-information.configuration-sub-type' value='vprobe' />\r
43                     </set>\r
44                 </outcome>\r
45                 <outcome value=''>\r
46                     <set>\r
47                         <parameter name='port-mirror-topology-operation-input.configuration-information.configuration-sub-type' value='vprobe' />\r
48                     </set>\r
49                 </outcome>\r
50                 <outcome value='Other'>\r
51                     <return status='failure'>\r
52                         <parameter name='error-code' value='500' />\r
53                         <parameter name='error-message' value="configuration-sub-type must be pprobe or vprobe" />\r
54                         <parameter name='ack-final' value='Y' />\r
55                     </return>\r
56                 </outcome>\r
57             </switch>\r
58             <switch test='`$port-mirror-topology-operation-input.sdnc-request-header.svc-action`'>\r
59                 <outcome value='assign'>\r
60                     <block atomic="true">\r
61                         <switch test='`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`'>\r
62                             <outcome value=''>\r
63                                 <return status='failure'>\r
64                                     <parameter name='error-code' value='500' />\r
65                                     <parameter name='error-message' value="svc-notification-url is required for assign" />\r
66                                     <parameter name='ack-final' value='Y' />\r
67                                 </return>\r
68                             </outcome>\r
69                         </switch>\r
70                         <switch test="`$port-mirror-topology-operation-input.request-information.request-action == 'CreatePortMirrorConfigurationInstance'`">\r
71                             <outcome value='false'>\r
72                                 <return status='failure'>\r
73                                     <parameter name='error-code' value='500' />\r
74                                     <parameter name='error-message' value="request-action must be CreatePortMirrorConfigurationInstance for assign" />\r
75                                     <parameter name='ack-final' value='Y' />\r
76                                 </return>\r
77                             </outcome>\r
78                         </switch>\r
79                         <switch test='`$port-mirror-topology-operation-input.configuration-information.configuration-type`'>\r
80                             <outcome value=''>\r
81                                 <return status='failure'>\r
82                                     <parameter name='error-code' value='500' />\r
83                                     <parameter name='error-message' value="configuration-type is required for assign" />\r
84                                     <parameter name='ack-final' value='Y' />\r
85                                 </return>\r
86                             </outcome>\r
87                         </switch>\r
88                         <switch test='`$port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`'>\r
89                             <outcome value=''>\r
90                                 <return status='failure'>\r
91                                     <parameter name='error-code' value='500' />\r
92                                     <parameter name='error-message' value="configuration-information.onap-model-information.model-customization-uuid is required for assign" />\r
93                                     <parameter name='ack-final' value='Y' />\r
94                                 </return>\r
95                             </outcome>\r
96                         </switch>\r
97                         <switch test='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.source-port.vnf-information.vnf-id`'>\r
98                             <outcome value=''>\r
99                                 <return status='failure'>\r
100                                     <parameter name='error-code' value='500' />\r
101                                     <parameter name='error-message' value="source vnf-id is required for assign" />\r
102                                     <parameter name='ack-final' value='Y' />\r
103                                 </return>\r
104                             </outcome>\r
105                         </switch>\r
106                         <switch test='`$port-mirror-topology-operation-input.configuration-information.configuration-sub-type`'>\r
107                             <outcome value='vprobe'>\r
108                                 <switch test='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.dest-port.vnf-information.vnf-id`'>\r
109                                     <outcome value=''>\r
110                                         <return status='failure'>\r
111                                             <parameter name='error-code' value='500' />\r
112                                             <parameter name='error-message' value="dest vnf-id is required for vprobe assign" />\r
113                                             <parameter name='ack-final' value='Y' />\r
114                                         </return>\r
115                                     </outcome>\r
116                                 </switch>\r
117                             </outcome>\r
118                             <outcome value='pprobe'>\r
119                                 <switch test='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.dest-port.pnf-information.pnf-name`'>\r
120                                     <outcome value=''>\r
121                                         <return status='failure'>\r
122                                             <parameter name='error-code' value='500' />\r
123                                             <parameter name='error-message' value="dest pnf-name is required for pprobe assign" />\r
124                                             <parameter name='ack-final' value='Y' />\r
125                                         </return>\r
126                                     </outcome>\r
127                                 </switch>\r
128                             </outcome>\r
129                         </switch>\r
130                     </block>\r
131                 </outcome>\r
132                 <outcome value='activate'>\r
133                     <block atomic="true">\r
134                         <switch test='`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`'>\r
135                             <outcome value=''>\r
136                                 <return status='failure'>\r
137                                     <parameter name='error-code' value='500' />\r
138                                     <parameter name='error-message' value="svc-notification-url is required for activate" />\r
139                                     <parameter name='ack-final' value='Y' />\r
140                                 </return>\r
141                             </outcome>\r
142                         </switch>\r
143                         <switch test="`$port-mirror-topology-operation-input.request-information.request-action == 'CreatePortMirrorConfigurationInstance'`">\r
144                             <outcome value='false'>\r
145                                 <return status='failure'>\r
146                                     <parameter name='error-code' value='500' />\r
147                                     <parameter name='error-message' value="request-action must be CreatePortMirrorConfigurationInstance for activate" />\r
148                                     <parameter name='ack-final' value='Y' />\r
149                                 </return>\r
150                             </outcome>\r
151                         </switch>\r
152                     </block>\r
153                 </outcome>\r
154                 <outcome value='unassign'>\r
155                     <block atomic="true">\r
156                         <switch test="`$port-mirror-topology-operation-input.request-information.request-action == 'DeletePortMirrorConfigurationInstance'`">\r
157                             <outcome value='false'>\r
158                                 <return status='failure'>\r
159                                     <parameter name='error-code' value='500' />\r
160                                     <parameter name='error-message' value="request-action must be DeletePortMirrorConfigurationInstance for unassign" />\r
161                                     <parameter name='ack-final' value='Y' />\r
162                                 </return>\r
163                             </outcome>\r
164                         </switch>\r
165                     </block>\r
166                 </outcome>\r
167                 <outcome value='deactivate'>\r
168                     <block atomic="true">\r
169                         <switch test='`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`'>\r
170                             <outcome value=''>\r
171                                 <return status='failure'>\r
172                                     <parameter name='error-code' value='500' />\r
173                                     <parameter name='error-message' value="svc-notification-url is required for deactivate" />\r
174                                     <parameter name='ack-final' value='Y' />\r
175                                 </return>\r
176                             </outcome>\r
177                         </switch>\r
178                         <switch test="`$port-mirror-topology-operation-input.request-information.request-action == 'DeletePortMirrorConfigurationInstance'`">\r
179                             <outcome value='false'>\r
180                                 <return status='failure'>\r
181                                     <parameter name='error-code' value='500' />\r
182                                     <parameter name='error-message' value="request-action must be DeletePortMirrorConfigurationInstance for deactivate" />\r
183                                     <parameter name='ack-final' value='Y' />\r
184                                 </return>\r
185                             </outcome>\r
186                         </switch>\r
187                     </block>\r
188                 </outcome>\r
189                 <outcome value='enable'>\r
190                     <block atomic="true">\r
191                         <switch test="`$port-mirror-topology-operation-input.request-information.request-action == 'ChangePortMirrorConfigurationInstance'`">\r
192                             <outcome value='false'>\r
193                                 <return status='failure'>\r
194                                     <parameter name='error-code' value='500' />\r
195                                     <parameter name='error-message' value="request-action must be ChangePortMirrorConfigurationInstance for enable" />\r
196                                     <parameter name='ack-final' value='Y' />\r
197                                 </return>\r
198                             </outcome>\r
199                         </switch>\r
200                         <switch test='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.source-port.source-port-id`'>\r
201                             <outcome value=''>\r
202                                 <return status='failure'>\r
203                                     <parameter name='error-code' value='500' />\r
204                                     <parameter name='error-message' value="port-mirror-configuration-request-input.source-port.source-port-id is required for enable" />\r
205                                     <parameter name='ack-final' value='Y' />\r
206                                 </return>\r
207                             </outcome>\r
208                         </switch>\r
209                     </block>\r
210                 </outcome>\r
211                 <outcome value='disable'>\r
212                     <block atomic="true">\r
213                         <switch test="`$port-mirror-topology-operation-input.request-information.request-action == 'ChangePortMirrorConfigurationInstance'`">\r
214                             <outcome value='false'>\r
215                                 <return status='failure'>\r
216                                     <parameter name='error-code' value='500' />\r
217                                     <parameter name='error-message' value="request-action must be ChangePortMirrorConfigurationInstance for disable" />\r
218                                     <parameter name='ack-final' value='Y' />\r
219                                 </return>\r
220                             </outcome>\r
221                         </switch>\r
222                         <switch test='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.source-port.source-port-id`'>\r
223                             <outcome value=''>\r
224                                 <return status='failure'>\r
225                                     <parameter name='error-code' value='500' />\r
226                                     <parameter name='error-message' value="port-mirror-configuration-request-input.source-port.source-port-id is required for disable" />\r
227                                     <parameter name='ack-final' value='Y' />\r
228                                 </return>\r
229                             </outcome>\r
230                         </switch>\r
231                     </block>\r
232                 </outcome>\r
233             </switch>\r
234             <return status='success'></return>\r
235         </block>\r
236     </method>\r
237 </service-logic>