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-vnf-generate-name' mode='sync'>
\r
5 <block atomic='true'>
\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.vnf-information.vnf-id + '.log'`" />
\r
12 <switch test="`$ss.capability-action`">
\r
13 <outcome value='unassign'>
\r
14 <block atomic='true'>
\r
16 <parameter name='tmp.naming-data-payload' value='{"elements":[' />
\r
18 <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
\r
19 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
\r
20 <outcome value='true'>
\r
21 <block atomic='true'>
\r
23 <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />
\r
24 <parameter name='tmp.gen-name_length' value='1' />
\r
26 <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >
\r
27 <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`">
\r
28 <outcome value='true'>
\r
30 <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '"' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '":' + '"' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '",'`"/>
\r
31 <parameter name="`tmp.gen-name[0].element[$j].name`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.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.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`"/>
\r
33 <parameter name="`tmp.gen-name[0].element_length`" value='`$j + 1`' />
\r
39 <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
\r
42 <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />
\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
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
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
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
71 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />
\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
80 <outcome value='not-found'>
\r
81 <block atomic='true'>
\r
83 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />
\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
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
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
103 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='DELETED' />
\r
105 <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
\r
106 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name == $jsonContextPrefix.elements[$n].resource-name`'>
\r
107 <outcome value='true'>
\r
109 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].value`' value="`$jsonContextPrefix.elements[$n].resource-value`" />
\r
120 <outcome value='assign'>
\r
121 <block atomic='true'>
\r
123 <parameter name='tmp.naming-data-payload' value='{"elements":[' />
\r
124 <parameter name='tmp.gen-name_length' value='0' />
\r
126 <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
\r
127 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
\r
128 <outcome value='true'>
\r
129 <block atomic='true'>
\r
131 <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />
\r
133 <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >
\r
135 <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '"' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '":' + '"' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '",'`"/>
\r
136 <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].name`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.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.vnf-topology.vnf-parameters-data.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
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
149 <switch test="`$tmp.naming-data-payload == ''`">
\r
150 <outcome value='false'>
\r
151 <block atomic='true'>
\r
153 <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />
\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
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
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
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
182 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />
\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
191 <outcome value='not-found'>
\r
192 <block atomic='true'>
\r
194 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />
\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
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
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
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.vnf-topology.vnf-parameters-data.param_length`' >
\r
215 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].name == $jsonContextPrefix.elements[$n].resource-name`'>
\r
216 <outcome value='true'>
\r
218 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' value="`$jsonContextPrefix.elements[$n].resource-value`" />
\r
219 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.status`' value='SUCCESS' />
\r