Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-pnf-put.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='self-serve-aai-pnf-put' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$ss.capability-name`'>\r
7                 <outcome value=''>\r
8                     <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="ss.capability-name is null" />\r
12                     </return>\r
13                 </outcome>\r
14             </switch>\r
15             <switch test='`$ss.capability-action`'>\r
16                 <outcome value=''>\r
17                     <return status="failure">\r
18                         <parameter name="ack-final" value="Y" />\r
19                         <parameter name="error-code" value="500"/>\r
20                         <parameter name="error-message" value="ss.capability-action is null" />\r
21                     </return>\r
22                 </outcome>\r
23                 <outcome value='assign'>\r
24                     <block atomic='true'>\r
25                         <for silentFailure='true' index="aidx" start="0" end="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param_length`">\r
26                             <switch test='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].name`'>\r
27                                 <outcome value='pnf-name'>\r
28                                     <set>\r
29                                         <parameter name='ss.param.pnf-name' value ='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />\r
30                                         <parameter name='ss.param.pnf-name-index' value='`$aidx`' />\r
31                                     </set>\r
32                                 </outcome>\r
33                                 <outcome value='pnf-name2'>\r
34                                     <set>\r
35                                         <parameter name='ss.param.pnf-name2' value ='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />\r
36                                         <parameter name='ss.param.pnf-name2-index' value='`$aidx`' />\r
37                                     </set>\r
38                                 </outcome>\r
39                                 <outcome value='pnf-id'>\r
40                                     <set>\r
41                                         <parameter name='ss.param.pnf-id' value ='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />\r
42                                         <parameter name='ss.param.pnf-id-index' value='`$aidx`' />\r
43                                     </set>\r
44                                 </outcome>\r
45                                 <outcome value='aai-pnf-put'>\r
46                                     <set>\r
47                                         <parameter name='ss.param.aai-pnf-put-index' value='`$aidx`' />\r
48                                     </set>\r
49                                 </outcome>\r
50                                 <outcome value='ipv4-oam-address'>\r
51                                     <set>\r
52                                         <parameter name='ss.param.ipv4-oam-address' value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />\r
53                                         <parameter name='ss.param.ipv4-oam-address-index' value='`$aidx`' />\r
54                                     </set>\r
55                                 </outcome>\r
56                                 <outcome value='ipv6-oam-address'>\r
57                                     <set>\r
58                                         <parameter name='ss.param.ipv6-oam-address' value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />\r
59                                         <parameter name='ss.param.ipv6-oam-address-index' value='`$aidx`' />\r
60                                     </set>\r
61                                 </outcome>\r
62                             </switch>\r
63                         </for>\r
64                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
65         resource="pnf"\r
66                 key="pnf.pnf-name = $ss.param.pnf-name "\r
67         pfx="tmp.aai.pnf" >\r
68                             <outcome value='failure'>\r
69                                 <block atomic='true'>\r
70                                     <set>\r
71                                         <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status' \r
72         value='FAILED' />\r
73                                     </set>\r
74                                     <return status='failure'>\r
75                                         <parameter name='error-code' value='500' />\r
76                                         <parameter name='error-message' value="`'Encountered error to get pnf with pnf-name=' + $ss.param.pnf-name + ' from AnAI'`" />\r
77                                     </return>\r
78                                 </block>\r
79                             </outcome>\r
80                             <outcome value='not-found'>\r
81                                 <block atomic='true'>\r
82                                     <set>\r
83                                         <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status' \r
84         value='FAILED' />\r
85                                     </set>\r
86                                     <return status='failure'>\r
87                                         <parameter name='error-code' value='500' />\r
88                                         <parameter name='error-message' value="`'pnf with pnf-name=' + $ss.param.pnf-name + ' not found in AAI'`" />\r
89                                     </return>\r
90                                 </block>\r
91                             </outcome>\r
92                         </get-resource>\r
93                         <set>\r
94                             <parameter name="ss.selflink" \r
95         value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + \r
96         $service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.service-instance-id + \r
97         '/service-data/pnfs/pnf/' + \r
98         $ss.param.pnf-id + \r
99         '/pnf-data/pnf-topology/'`" />\r
100                         </set>\r
101                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
102         resource="pnf"\r
103                 key="pnf.pnf-name = $ss.param.pnf-name " >\r
104                             <parameter name="pnf-name2" value="`$ss.param.pnf-name2`" />\r
105                             <parameter name="prov-status" value="PREPROV" />\r
106                             <parameter name="selflink" value="`$ss.selflink`" />\r
107                             <parameter name="ipaddress-v4-oam" value="`$ss.param.ipv4-oam-address`" />\r
108                             <parameter name="ipaddress-v6-oam" value="`$ss.param.ipv6-oam-address`" />\r
109                             <parameter name="model-customization-id"\r
110         value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.onap-model-information.model-customization-uuid`" />\r
111                             <parameter name="model-invariant-id"\r
112         value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.onap-model-information.model-invariant-uuid`" />\r
113                             <parameter name="model-version-id"\r
114         value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.onap-model-information.model-uuid`" />\r
115                             <outcome value='failure'>\r
116                                 <block atomic='true'>\r
117                                     <set>\r
118                                         <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status' \r
119         value='FAILED' />\r
120                                     </set>\r
121                                     <return status='failure'>\r
122                                         <parameter name='error-code' value='500' />\r
123                                         <parameter name='error-message' value="`'Failed to update pnf.pnf-name in AnAI with pnf-name=' + $ss.param.pnf-name`" />\r
124                                     </return>\r
125                                 </block>\r
126                             </outcome>\r
127                             <outcome value='not-found'>\r
128                                 <block atomic='true'>\r
129                                     <set>\r
130                                         <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status' \r
131         value='FAILED' />\r
132                                     </set>\r
133                                     <return status='failure'>\r
134                                         <parameter name='error-code' value='500' />\r
135                                         <parameter name='error-message' value="`'pnf with pnf-name =' + $ss.param.pnf-name + ' is not found in AAI'`" />\r
136                                     </return>\r
137                                 </block>\r
138                             </outcome>\r
139                         </update>\r
140                         <set>\r
141                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status' \r
142         value='SUCCESS' />\r
143                         </set>\r
144                     </block>\r
145                 </outcome>\r
146             </switch>\r
147             <set>\r
148                 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].value' \r
149         value='SUCCESS' />\r
150             </set>\r
151             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
152                 <parameter name='filename' value='/var/tmp/ss-aai-pnf-put.log' />\r
153             </execute>\r
154         </block>\r
155     </method>\r
156 </service-logic>