Generic resource API DG catch up
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-vlan-tag-assign.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4     <method rpc='self-serve-vlan-tag-assign' mode='sync'>
5         <block atomic='true'>
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
8                 <parameter name='contextPrefix' value='prop' />
9                 <outcome value='success'>
10                     <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
11                         <parameter name="logger" value="message-log"/>
12                         <parameter name="field1" value="__TIMESTAMP__"/>
13                         <parameter name="field2" value="GENERIC-RESOURCE-API"/>
14                         <parameter name="field3" value="self-serve-vlan-tag-assign: read properties file." />
15                     </record>
16                 </outcome>
17                 <outcome value='failure'>
18                     <block>
19                         <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
20                             <parameter name="logger" value="message-log"/>
21                             <parameter name="field1" value="__TIMESTAMP__"/>
22                             <parameter name="field2" value="GENERIC-RESOURCE-API"/>
23                             <parameter name="field3" value="self-serve-vlan-tag-assign: failed to read properties file." />
24                             <parameter name="field4" value="generic-resource-api-dg.properties"/>
25                         </record>
26                         <return status='failure'>
27                             <parameter name='error-code' value='500' />
28                             <parameter name='error-message' value='self-serve-vlan-tag-assign: could not read generic-resource-api properties' />
29                         </return>
30                     </block>
31                 </outcome>
32             </execute>
33             <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' ></call>
34             <for index='capIdx' 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`' >
35                 <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.param[$capIdx].resource-resolution-data.capability-name == $ss.capability-name`">
36                     <outcome value='true'>
37                         <switch test="`$ss.capability-action`">
38                             <outcome value='assign'>
39                                 <block atomic='true'>
40                                     <set>
41                                         <parameter name='sscap.res-target-type' value='`$prop.restapi.ss.capreserve.targettype`' />
42                                     </set>
43                                     <for index='rkIdx' 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[$capIdx].resource-resolution-data.resource-key_length`' >
44                                         <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[$capIdx].resource-resolution-data.resource-key[$rkIdx].name`">
45                                             <outcome value='vlan-recipe'>
46                                                 <set>
47                                                     <parameter name='sscap.res-service-model' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
48                                                 </set>
49                                             </outcome>
50                                             <outcome value='vnf-name'>
51                                                 <set>
52                                                     <parameter name='sscap.res-entity-id' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
53                                                 </set>
54                                             </outcome>
55                                             <outcome value='nf-role'>
56                                                 <set>
57                                                     <parameter name='sscap.res-entity-type' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
58                                                 </set>
59                                             </outcome>
60                                             <outcome value='aic-site-id'>
61                                                 <set>
62                                                     <parameter name='sscap.res-target-id' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
63                                                 </set>
64                                             </outcome>
65                                             <outcome value='vlan-tag-type'>
66                                                 <set>
67                                                     <parameter name='sscap.res-endpoint-position' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
68                                                 </set>
69                                             </outcome>
70                                         </switch>
71                                     </for>
72                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
73                                         <parameter name="logger" value="message-log"/>
74                                         <parameter name="field1" value="__TIMESTAMP__"/>
75                                         <parameter name="field2" value="GENERIC-RESOURCE-API"/>
76                                         <parameter name="field3" value="self-serve-vlan-tag-assign: reserve params"/>
77                                         <parameter name="field4" value='`$sscap.res-service-model`'/>
78                                         <parameter name="field5" value='`$sscap.res-entity-type`'/>
79                                         <parameter name="field6" value='`$sscap.res-entity-id`'/>
80                                         <parameter name="field7" value='`$sscap.res-target-type.`' />
81                                         <parameter name="field8" value='`$sscap.res-target-id`'/>
82                                         <parameter name="field9" value='`$sscap.res.endpoint-position`' />
83                                     </record>
84                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
85                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.capreserve.templatefile`" />
86                                         <parameter name='restapiUser' value='`$prop.controller.user`' />
87                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
88                                         <parameter name='format' value='json' />
89                                         <parameter name='httpMethod' value='post' />
90                                         <parameter name='responsePrefix' value='tmp.sscapres-response' />
91                                         <outcome value='failure'>
92                                             <block>
93                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
94                                                     <parameter name="logger" value="message-log"/>
95                                                     <parameter name="field1" value="__TIMESTAMP__"/>
96                                                     <parameter name="field2" value="GENERIC-RESOURCE-API"/>
97                                                     <parameter name="field3" value="self-serve-vlan-tag-assign: restapi reserve execution failed"/>
98                                                 </record>
99                                                 <set>
100                                                     <parameter name='sscap.reserve.response-code' value='500' />
101                                                     <parameter name='sscap.reserve.response-message' value='Self Serve Capacity Api restapi reserve execution failed' />
102                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$capIdx].resource-resolution-data.status' value='FAILED' />
103                                                 </set>
104                                                 <return status='failure'>
105                                                     <parameter name='error-code' value='500' />
106                                                     <parameter name='error-message' value='self-serve-vlan-tag-assign: reserve failed' />
107                                                 </return>
108                                             </block>
109                                         </outcome>
110                                         <outcome value='success'>
111                                             <switch test="`$tmp.sscapres-response.response-code`">
112                                                 <outcome value='200'>
113                                                     <block>
114                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
115                                                             <parameter name="logger" value="message-log"/>
116                                                             <parameter name="field1" value="__TIMESTAMP__"/>
117                                                             <parameter name="field2" value="GENERIC-RESOURCE-API"/>
118                                                             <parameter name="field3" value="self-serve-vlan-tag-assign: reserve successful"/>
119                                                             <parameter name="field4" value='`$tmp.sscapres-response.response-code`'/>
120                                                             <parameter name="field5" value='`$tmp.sscapres-response.response-message`'/>
121                                                             <parameter name="field6" value='`$tmp.sscapres-response.output.reservation-entity-list[0].reservation-target-list[0].resource-list[0].allocated`' />
122                                                             <parameter name="field7" value='`$tmp.sscapres-response.output.reservation-entity-list[0].reservation-target-list[0].resource-list[0].end-point-position`' />
123                                                         </record>
124                                                         <set>
125                                                             <parameter name='pmIdx' value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length' />
126                                                         </set>
127                                                         <set>
128                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$capIdx].resource-resolution-data.status' value='SUCCESS' />
129                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pmIdx].value' value='$tmp.sscapres-response.output.reservation-entity-list[0].reservation-target-list[0].resource-list[0].allocated' />
130                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pmIdx].name' value='$tmp.sscapres-response.output.reservation-entity-list[0].reservation-target-list[0].resource-list[0].end-point-position' />
131                                                         </set>
132                                                     </block>
133                                                 </outcome>
134                                                 <outcome value='Other'>
135                                                     <block>
136                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
137                                                             <parameter name="logger" value="message-log"/>
138                                                             <parameter name="field1" value="__TIMESTAMP__"/>
139                                                             <parameter name="field2" value="GENERIC-RESOURCE-API"/>
140                                                             <parameter name="field3" value="self-serve-vlan-tag-assign: reserve failed"/>
141                                                             <parameter name="field4" value='`$tmp.sscapres-response.response-code`'/>
142                                                             <parameter name="field5" value='`$tmp.sscapres-response.response-message`'/>
143                                                         </record>
144                                                         <set>
145                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$capIdx].resource-resolution-data.status' value='FAILED' />
146                                                         </set>
147                                                     </block>
148                                                 </outcome>
149                                             </switch>
150                                         </outcome>
151                                     </execute>
152                                 </block>
153                             </outcome>
154                             <outcome value='unassign'>
155                                 <block atomic='true'>
156                                     <for index='rkIdx' 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[$capIdx].resource-resolution-data.resource-key_length`' >
157                                         <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[$capIdx].resource-resolution-data.resource-key[$rkIdx].name`">
158                                             <outcome value='vnf-name'>
159                                                 <set>
160                                                     <parameter name='sscap.rel-entity-id' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
161                                                 </set>
162                                             </outcome>
163                                             <outcome value='nf-role'>
164                                                 <set>
165                                                     <parameter name='sscap.rel-entity-type' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
166                                                 </set>
167                                             </outcome>
168                                             <outcome value='vlan-tag-type'>
169                                                 <set>
170                                                     <parameter name='sscap.rel-endpoint-position' 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[$capIdx].resource-resolution-data.resource-key[$rkIdx].value`' />
171                                                 </set>
172                                             </outcome>
173                                         </switch>
174                                     </for>
175                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
176                                         <parameter name="logger" value="message-log"/>
177                                         <parameter name="field1" value="__TIMESTAMP__"/>
178                                         <parameter name="field2" value="GENERIC-RESOURCE-API"/>
179                                         <parameter name="field3" value="self-serve-vlan-tag-assign: release params"/>
180                                         <parameter name="field4" value='`$sscap.res-entity-type`'/>
181                                         <parameter name="field5" value='`$sscap.res-entity-id`'/>
182                                         <parameter name="field6" value='`$sscap.res.endpoint-position`' />
183                                     </record>
184                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
185                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.caprelease.templatefile`" />
186                                         <parameter name='restapiUrl' value='`$prop.controller.url`' />
187                                         <parameter name='restapiUser' value='`$prop.controller.user`' />
188                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
189                                         <parameter name='format' value='json' />
190                                         <parameter name='httpMethod' value='post' />
191                                         <parameter name='responsePrefix' value='tmp.sscaprel-response' />
192                                         <outcome value='failure'>
193                                             <block>
194                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
195                                                     <parameter name="logger" value="message-log"/>
196                                                     <parameter name="field1" value="__TIMESTAMP__"/>
197                                                     <parameter name="field2" value="GENERIC-RESOURCE-API"/>
198                                                     <parameter name="field3" value="self-serve-vlan-tag-assign: restapi release execution failed"/>
199                                                 </record>
200                                                 <set>
201                                                     <parameter name='sscap.release.response-code' value='500' />
202                                                     <parameter name='sscap.release.response-message' value='Self Serve Capacity Api restapi release execution failed' />
203                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$capIdx].resource-resolution-data.status' value='FAILED' />
204                                                 </set>
205                                                 <return status='failure'>
206                                                     <parameter name='error-code' value='500' />
207                                                     <parameter name='error-message' value='self-serve-vlan-tag-assign: release failed' />
208                                                 </return>
209                                             </block>
210                                         </outcome>
211                                         <outcome value='success'>
212                                             <switch test="`$tmp.sscaprel-response.response-code`">
213                                                 <outcome value='200'>
214                                                     <block>
215                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
216                                                             <parameter name="logger" value="message-log"/>
217                                                             <parameter name="field1" value="__TIMESTAMP__"/>
218                                                             <parameter name="field2" value="GENERIC-RESOURCE-API"/>
219                                                             <parameter name="field3" value="self-serve-vlan-tag-assign: release successful"/>
220                                                             <parameter name="field4" value='`$tmp.sscaprel-response.response-code`'/>
221                                                             <parameter name="field5" value='`$tmp.sscaprel-response.response-message`'/>
222                                                         </record>
223                                                         <set>
224                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$capIdx].resource-resolution-data.status' value='DELETED' />
225                                                         </set>
226                                                     </block>
227                                                 </outcome>
228                                                 <outcome value='Other'>
229                                                     <block>
230                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
231                                                             <parameter name="logger" value="message-log"/>
232                                                             <parameter name="field1" value="__TIMESTAMP__"/>
233                                                             <parameter name="field2" value="GENERIC-RESOURCE-API"/>
234                                                             <parameter name="field3" value="self-serve-vlan-tag-assign: release failed"/>
235                                                             <parameter name="field4" value='`$tmp.sscaprel-response.response-code`'/>
236                                                             <parameter name="field5" value='`$tmp.sscaprel-response.response-message`'/>
237                                                         </record>
238                                                         <set>
239                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-mofule[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$capIdx].resource-resolution-data.status' value='FAILED' />
240                                                         </set>
241                                                         <return status='failure'>
242                                                             <parameter name='error-code' value='500' />
243                                                             <parameter name='error-message' value='self-serve-vlan-tag-assign: release failed' />
244                                                         </return>
245                                                     </block>
246                                                 </outcome>
247                                             </switch>
248                                         </outcome>
249                                     </execute>
250                                 </block>
251                             </outcome>
252                         </switch>
253                     </outcome>
254                 </switch>
255             </for>
256             <return status='success'>
257                 <parameter name="error-code" value="200" />
258                 <parameter name="error-message" value="`$error-message`" />
259             </return>
260         </block>
261     </method>
262 </service-logic>