Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-vf-module-generate-name.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-vf-module-generate-name' mode='sync'>\r
5         <block atomic='true'>\r
6             <set>\r
7                 <parameter name='pathname' \r
8         value="`'/var/tmp/ss-gen-name-' + \r
9         $ss.capability-type + '-' + $ss.capability-action + '-' + \r
10         $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.vf-module-id + '.log'`" />\r
11             </set>\r
12             <switch test="`$ss.capability-action`">\r
13                 <outcome value='unassign'>\r
14                     <block atomic='true'>\r
15                         <set>\r
16                             <parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\r
17                         </set>\r
18                         <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >\r
19                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\r
20                                 <outcome value='true'>\r
21                                     <block atomic='true'>\r
22                                         <set>\r
23                                             <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />\r
24                                             <parameter name='tmp.gen-name_length' value='1' />\r
25                                         </set>\r
26                                         <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key_length`' >\r
27                                             <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`">\r
28                                                 <outcome value='true'>\r
29                                                     <set>\r
30                                                         <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`"/>\r
31                                                         <parameter name="`tmp.gen-name[0].element[$j].name`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].name`"/>\r
32                                                         <parameter name="`tmp.gen-name[0].element[$j].value`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].value`"/>\r
33                                                         <parameter name="`tmp.gen-name[0].element_length`" value='`$j + 1`' />\r
34                                                     </set>\r
35                                                 </outcome>\r
36                                             </switch>\r
37                                         </for>\r
38                                         <set>\r
39                                             <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />\r
40                                         </set>\r
41                                         <set>\r
42                                             <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />\r
43                                         </set>\r
44                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
45                                             <parameter name='outputPath' value='tmp.naming-data-payload' />\r
46                                             <parameter name='source' value='`$tmp.naming-data-payload`' />\r
47                                             <parameter name='target' value=',}' />\r
48                                             <parameter name='replacement' value='}' />\r
49                                         </execute>\r
50                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
51                                             <parameter name='outputPath' value='tmp.naming-data-payload' />\r
52                                             <parameter name='source' value='`$tmp.naming-data-payload`' />\r
53                                             <parameter name='target' value=',]' />\r
54                                             <parameter name='replacement' value=']' />\r
55                                         </execute>\r
56                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
57                                             <parameter name="logger" value="message-log"/>\r
58                                             <parameter name="field1" value="BEFORE namegeneration.node.UnAssignNameNode"/>\r
59                                         </record>\r
60                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
61                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`" />\r
62                                             <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />\r
63                                             <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />\r
64                                             <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />\r
65                                             <parameter name='format' value='json' />\r
66                                             <parameter name='httpMethod' value='DELETE' />\r
67                                             <parameter name="responsePrefix" value="nameGenResponse" />\r
68                                             <outcome value='failure'>\r
69                                                 <block atomic='true'>\r
70                                                     <set>\r
71                                                         <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />\r
72                                                     </set>\r
73                                                     <return status='failure'>\r
74                                                         <parameter name='ack-final' value='Y'/>\r
75                                                         <parameter name="error-code" value="500" />\r
76                                                         <parameter name="error-message" value="Error from NameGenerationNode Unassign" />\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.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />\r
84                                                     </set>\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="Error from NameGenerationNode Unassign" />\r
89                                                     </return>\r
90                                                 </block>\r
91                                             </outcome>\r
92                                         </execute>\r
93                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
94                                             <parameter name="logger" value="message-log"/>\r
95                                             <parameter name="field1" value="AFTER namegeneration.node.UnAssignNameNode"/>\r
96                                         </record>\r
97                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
98                                             <parameter name="source" value="nameGenResponse.httpResponse" />\r
99                                             <parameter name="outputPath" value="jsonContextPrefix" />\r
100                                             <parameter name="isEscaped" value="false" />\r
101                                         </execute>\r
102                                         <set>\r
103                                             <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.status`' value='DELETED' />\r
104                                         </set>\r
105                                         <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\r
106                                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].name == $jsonContextPrefix.elements[$n].resource-name`'>\r
107                                                 <outcome value='true'>\r
108                                                     <set>\r
109                                                         <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].value`' value="`$jsonContextPrefix.elements[$n].resource-value`" />\r
110                                                     </set>\r
111                                                 </outcome>\r
112                                             </switch>\r
113                                         </for>\r
114                                     </block>\r
115                                 </outcome>\r
116                             </switch>\r
117                         </for>\r
118                     </block>\r
119                 </outcome>\r
120                 <outcome value='assign'>\r
121                     <block atomic='true'>\r
122                         <set>\r
123                             <parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\r
124                             <parameter name='tmp.gen-name_length' value='0' />\r
125                         </set>\r
126                         <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >\r
127                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\r
128                                 <outcome value='true'>\r
129                                     <block atomic='true'>\r
130                                         <set>\r
131                                             <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />\r
132                                         </set>\r
133                                         <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key_length`' >\r
134                                             <set>\r
135                                                 <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`"/>\r
136                                                 <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].name`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].name`"/>\r
137                                                 <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].value`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.resource-key[$j].value`"/>\r
138                                                 <parameter name="`tmp.gen-name[$tmp.gen-name_length].element_length`" value='`$j + 1`' />\r
139                                             </set>\r
140                                         </for>\r
141                                         <set>\r
142                                             <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />\r
143                                             <parameter name='tmp.gen-name_length' value='`$tmp.gen-name_length + 1`' />\r
144                                         </set>\r
145                                     </block>\r
146                                 </outcome>\r
147                             </switch>\r
148                         </for>\r
149                         <switch test="`$tmp.naming-data-payload == ''`">\r
150                             <outcome value='false'>\r
151                                 <block atomic='true'>\r
152                                     <set>\r
153                                         <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />\r
154                                     </set>\r
155                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
156                                         <parameter name='outputPath' value='tmp.naming-data-payload' />\r
157                                         <parameter name='source' value='`$tmp.naming-data-payload`' />\r
158                                         <parameter name='target' value=',}' />\r
159                                         <parameter name='replacement' value='}' />\r
160                                     </execute>\r
161                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
162                                         <parameter name='outputPath' value='tmp.naming-data-payload' />\r
163                                         <parameter name='source' value='`$tmp.naming-data-payload`' />\r
164                                         <parameter name='target' value=',]' />\r
165                                         <parameter name='replacement' value=']' />\r
166                                     </execute>\r
167                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
168                                         <parameter name="logger" value="message-log"/>\r
169                                         <parameter name="field1" value="BEFORE namegeneration.node.AssignNameNode"/>\r
170                                     </record>\r
171                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
172                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`" />\r
173                                         <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />\r
174                                         <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />\r
175                                         <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />\r
176                                         <parameter name='format' value='json' />\r
177                                         <parameter name='httpMethod' value='POST' />\r
178                                         <parameter name="responsePrefix" value="nameGenResponse" />\r
179                                         <outcome value='failure'>\r
180                                             <block atomic='true'>\r
181                                                 <set>\r
182                                                     <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />\r
183                                                 </set>\r
184                                                 <return status='failure'>\r
185                                                     <parameter name='ack-final' value='Y'/>\r
186                                                     <parameter name="error-code" value="500" />\r
187                                                     <parameter name="error-message" value="Error from NameGenerationNode Assign" />\r
188                                                 </return>\r
189                                             </block>\r
190                                         </outcome>\r
191                                         <outcome value='not-found'>\r
192                                             <block atomic='true'>\r
193                                                 <set>\r
194                                                     <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />\r
195                                                 </set>\r
196                                                 <return status='failure'>\r
197                                                     <parameter name='ack-final' value='Y'/>\r
198                                                     <parameter name="error-code" value="500" />\r
199                                                     <parameter name="error-message" value="Error from NameGenerationNode Assign" />\r
200                                                 </return>\r
201                                             </block>\r
202                                         </outcome>\r
203                                     </execute>\r
204                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
205                                         <parameter name="logger" value="message-log"/>\r
206                                         <parameter name="field1" value="AFTER namegeneration.node.AssignNameNode"/>\r
207                                     </record>\r
208                                     <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
209                                         <parameter name="source" value="nameGenResponse.httpResponse" />\r
210                                         <parameter name="outputPath" value="jsonContextPrefix" />\r
211                                         <parameter name="isEscaped" value="false" />\r
212                                     </execute>\r
213                                     <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\r
214                                         <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >\r
215                                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$l].name == $jsonContextPrefix.elements[$n].resource-name`'>\r
216                                                 <outcome value='true'>\r
217                                                     <set>\r
218                                                         <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$l].value`' value="`$jsonContextPrefix.elements[$n].resource-value`" />\r
219                                                         <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$l].resource-resolution-data.status`' value='SUCCESS' />\r
220                                                     </set>\r
221                                                 </outcome>\r
222                                             </switch>\r
223                                         </for>\r
224                                     </for>\r
225                                 </block>\r
226                             </outcome>\r
227                         </switch>\r
228                     </block>\r
229                 </outcome>\r
230             </switch>\r
231         </block>\r
232     </method>\r
233 </service-logic>