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-assign-sync.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-assign-sync' mode='sync'>\r
5         <block atomic="true">\r
6             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
7   key='select role,nfc_naming_code,pps_capacity\r
8     from PORT_MIRROR_CAPABILITY cap, PORT_MIRROR_CONFIGURATION conf, SERVICE_PROXY sp\r
9     where cap.port_mirror_capability_name=conf.port_mirror_capability_name\r
10      and cap.port_mirror_service_uuid=conf.port_mirror_service_uuid\r
11      and cap.service_proxy_name=conf.service_proxy_name\r
12      and cap.service_proxy_name=sp.service_proxy_name\r
13      and cap.port_mirror_service_uuid=sp.parent_service_uuid\r
14      and conf.customization_uuid = $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid\r
15      and conf.port_mirror_service_uuid = $service-data.service-information.onap-model-information.model-uuid\r
16     order by role'\r
17   pfx='db.cap[]'>\r
18                 <outcome value='failure'>\r
19                     <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="Error reading PORT_MIRROR_CONFIGURATION and PORT_MIRROR_CAPABILITY tables" />\r
23                     </return>\r
24                 </outcome>\r
25                 <outcome value='not-found'>\r
26                     <return status='failure'>\r
27                         <parameter name='ack-final' value='Y'/>\r
28                         <parameter name="error-code" value="500" />\r
29                         <parameter name="error-message" value="`'Unable to find PORT_MIRROR_CONFIGURATION entry for ' + $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`" />\r
30                     </return>\r
31                 </outcome>\r
32             </get-resource>\r
33             <switch test='`$port-mirror-topology-operation-input.configuration-information.configuration-sub-type`'>\r
34                 <outcome value='vprobe'>\r
35                     <block atomic="true">\r
36                         <switch test='`$db.cap_length == 2`'>\r
37                             <outcome value='false'>\r
38                                 <return status='failure'>\r
39                                     <parameter name='ack-final' value='Y'/>\r
40                                     <parameter name="error-code" value="500" />\r
41                                     <parameter name="error-message" value="`'PORT_MIRROR_CONFIGURATION does not contain exactly 2 entries for UUID ' + $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`" />\r
42                                 </return>\r
43                             </outcome>\r
44                         </switch>\r
45                         <switch test="`$db.cap[0].role == 'collector'`">\r
46                             <outcome value='false'>\r
47                                 <return status='failure'>\r
48                                     <parameter name='ack-final' value='Y'/>\r
49                                     <parameter name="error-code" value="500" />\r
50                                     <parameter name="error-message" value="`'No collector capability_role found for UUID ' + $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`" />\r
51                                 </return>\r
52                             </outcome>\r
53                         </switch>\r
54                         <switch test="`$db.cap[1].role == 'source'`">\r
55                             <outcome value='false'>\r
56                                 <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="`'No source capability_role found for UUID ' + $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`" />\r
60                                 </return>\r
61                             </outcome>\r
62                         </switch>\r
63                     </block>\r
64                 </outcome>\r
65                 <outcome value='pprobe'>\r
66                     <block atomic="true">\r
67                         <switch test='`$db.cap_length == 1`'>\r
68                             <outcome value='false'>\r
69                                 <return status='failure'>\r
70                                     <parameter name='ack-final' value='Y'/>\r
71                                     <parameter name="error-code" value="500" />\r
72                                     <parameter name="error-message" value="`'PORT_MIRROR_CONFIGURATION does not contain exactly 1 entry for UUID ' + $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`" />\r
73                                 </return>\r
74                             </outcome>\r
75                         </switch>\r
76                         <switch test="`$db.cap[0].role == 'source'`">\r
77                             <outcome value='false'>\r
78                                 <return status='failure'>\r
79                                     <parameter name='ack-final' value='Y'/>\r
80                                     <parameter name="error-code" value="500" />\r
81                                     <parameter name="error-message" value="`'No source capability_role found for UUID ' + $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid`" />\r
82                                 </return>\r
83                             </outcome>\r
84                         </switch>\r
85                     </block>\r
86                 </outcome>\r
87             </switch>\r
88             <set>\r
89                 <parameter name='tmp.pm.configuration-id' value='`$port-mirror-topology-operation-input.configuration-information.configuration-id`' />\r
90             </set>\r
91             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
92                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
93                 <parameter name='contextPrefix' value='prop' />\r
94             </execute>\r
95             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
96                 <parameter name="source" value="`$prop.restapi.pm-configuration`"/>\r
97                 <parameter name="outputPath" value="tmp.pmc-url"/>\r
98                 <parameter name="target" value="{configuration-id}"/>\r
99                 <parameter name="replacement" value="`$tmp.pm.configuration-id`"/>\r
100             </execute>\r
101             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
102                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />\r
103                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
104                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
105                 <parameter name='format' value='json' />\r
106                 <parameter name='httpMethod' value='GET' />\r
107                 <parameter name="responsePrefix" value="mdsal-pmc" />\r
108                 <outcome value='success'>\r
109                     <return status='failure'>\r
110                         <parameter name='error-code' value='500' />\r
111                         <parameter name='error-message' value="`'Port mirror configuration ' + $tmp.pm.configuration-id + ' already exists'`" />\r
112                     </return>\r
113                 </outcome>\r
114                 <outcome value='failure'>\r
115                     <block></block>\r
116                 </outcome>\r
117             </execute>\r
118             <return status='success'>\r
119                 <parameter name='error-code' value='200' />\r
120                 <parameter name='ack-final' value='N' />\r
121             </return>\r
122         </block>\r
123     </method>\r
124 </service-logic>