Fix ansible server path
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-vfmodule-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-vfmodule-put' mode='sync'>\r
5         <block atomic='true'>\r
6             <switch test='`$vnf-index`'>\r
7                 <outcome value=''>\r
8                     <return status='failure'>\r
9                         <parameter name='error-code' value='500' />\r
10                         <parameter name='error-message' value='vnf-index is required' />\r
11                     </return>\r
12                 </outcome>\r
13                 <outcome value='Other'>\r
14                     <block>\r
15                         <for index="k" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`" >\r
16                             <block>\r
17                                 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$k].name`'>\r
18                                     <outcome value='vnf-id'>\r
19                                         <block>\r
20                                             <set>\r
21                                                 <parameter name='vnf-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$k].value`' />\r
22                                             </set>\r
23                                         </block>\r
24                                     </outcome>\r
25                                     <outcome value='ipv4-loopback0-address'>\r
26                                         <block>\r
27                                             <set>\r
28                                                 <parameter name='ipv4-loopback0-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$k].value`' />\r
29                                             </set>\r
30                                         </block>\r
31                                     </outcome>\r
32                                     <outcome value='as-number'>\r
33                                         <block>\r
34                                             <set>\r
35                                                 <parameter name='as-number' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$k].value`' />\r
36                                             </set>\r
37                                         </block>\r
38                                     </outcome>\r
39                                     <outcome value='vlan-id-outer'>\r
40                                         <block>\r
41                                             <set>\r
42                                                 <parameter name='vlan-id-outer' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$k].value`' />\r
43                                             </set>\r
44                                         </block>\r
45                                     </outcome>\r
46                                 </switch>\r
47                             </block>\r
48                         </for>\r
49                         <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_length`" >\r
50                             <block>\r
51                                 <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[$j].name`'>\r
52                                     <outcome value='vf-module-id'>\r
53                                         <set>\r
54                                             <parameter name='vf-module-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[$j].value`' />\r
55                                         </set>\r
56                                     </outcome>\r
57                                     <outcome value='vf-module-name'>\r
58                                         <set>\r
59                                             <parameter name='vf-module-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[$j].value`' />\r
60                                         </set>\r
61                                     </outcome>\r
62                                     <outcome value='volume-group-id'>\r
63                                         <set>\r
64                                             <parameter name='volume-group-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[$j].value`' />\r
65                                         </set>\r
66                                     </outcome>\r
67                                     <outcome value='volume-group-name'>\r
68                                         <set>\r
69                                             <parameter name='volume-group-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[$j].value`' />\r
70                                         </set>\r
71                                     </outcome>\r
72                                     <outcome value='cloud-region'>\r
73                                         <set>\r
74                                             <parameter name='cloud-region' 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[$j].value`' />\r
75                                         </set>\r
76                                     </outcome>\r
77                                 </switch>\r
78                             </block>\r
79                         </for>\r
80                     </block>\r
81                 </outcome>\r
82             </switch>\r
83             <block>\r
84                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
85         resource="generic-vnf"\r
86                 key="generic-vnf.vnf-id = $vnf-id "\r
87         pfx="tmp.AnAI-data.vnf" >\r
88                     <parameter name="ipv4-loopback0-address" value='`$ipv4-loopback0-address`' />\r
89                     <parameter name="ipv4-oam-address" value='`$ipv4-oam-address`' />\r
90                     <parameter name="as-number" value='`$as-number`' />\r
91                     <parameter name="vlan-id-outer" value='`$vlan-id-outer`' />\r
92                     <outcome value='failure'>\r
93                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
94                             <parameter name="logger" value="message-log" />\r
95                             <parameter name="level" value="error" />\r
96                             <parameter name="field1" value="Error for PUT in AAI for generic-vnf." />\r
97                             <parameter name="field2" value="`$tmp.AnAI-data.vnf.error-code`" />\r
98                             <parameter name="field3" value="`$tmp.AnAI-data.vnf.error-message`" />\r
99                         </record>\r
100                     </outcome>\r
101                     <outcome value='not-found'>\r
102                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
103                             <parameter name="logger" value="message-log" />\r
104                             <parameter name="level" value="error" />\r
105                             <parameter name="field1" value="Error for PUT in AAI for generic-vnf." />\r
106                             <parameter name="field2" value="`$tmp.AnAI-data.vnf.error-code`" />\r
107                             <parameter name="field3" value="`$tmp.AnAI-data.vnf.error-message`" />\r
108                         </record>\r
109                     </outcome>\r
110                     <outcome value='success'>\r
111                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
112         resource="vf-module"\r
113                 key="vf-module.vf-module-id = $vf-module-id "\r
114         pfx="tmp.AnAI-data.vfmodule" >\r
115                             <parameter name="vf-module-name" value='`$vf-module-name`' />\r
116                             <outcome value='failure'>\r
117                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
118                                     <parameter name="logger" value="message-log" />\r
119                                     <parameter name="level" value="error" />\r
120                                     <parameter name="field1" value="Error for PUT in AAI for vf-module" />\r
121                                     <parameter name="field2" value="`$tmp.AnAI-data.vnf.error-code`" />\r
122                                     <parameter name="field3" value="`$tmp.AnAI-data.vnf.error-message`" />\r
123                                 </record>\r
124                             </outcome>\r
125                             <outcome value='not-found'>\r
126                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
127                                     <parameter name="logger" value="message-log" />\r
128                                     <parameter name="level" value="error" />\r
129                                     <parameter name="field1" value="Error for PUT in AAI for vf-module" />\r
130                                     <parameter name="field2" value="`$tmp.AnAI-data.vnf.error-code`" />\r
131                                     <parameter name="field3" value="`$tmp.AnAI-data.vnf.error-message`" />\r
132                                 </record>\r
133                             </outcome>\r
134                             <outcome value='success'>\r
135                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
136         resource="volume-group"\r
137                 key="volume-group-id = $volume-group-id and \r
138                                 cloud-region.cloud-owner = $prop.cloud-region.cloud-owner and\r
139                                 cloud-region.cloud-region-id = $cloud-region "\r
140                 pfx="tmp.AnAI-data.vnf" >\r
141                                     <parameter name="volume-group-name" value='`$volume-group-name`' />\r
142                                     <outcome value='failure'>\r
143                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
144                                             <parameter name="logger" value="message-log" />\r
145                                             <parameter name="level" value="error" />\r
146                                             <parameter name="field1" value="Error Saving in AAI" />\r
147                                             <parameter name="field2" value="`$tmp.AnAI-data.vnf.error-code`" />\r
148                                             <parameter name="field3" value="`$tmp.AnAI-data.vnf.error-message`" />\r
149                                         </record>\r
150                                     </outcome>\r
151                                     <outcome value='not-found'>\r
152                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
153                                             <parameter name="logger" value="message-log" />\r
154                                             <parameter name="level" value="error" />\r
155                                             <parameter name="field1" value="Error Saving in AAI" />\r
156                                             <parameter name="field2" value="`$tmp.AnAI-data.vnf.error-code`" />\r
157                                             <parameter name="field3" value="`$tmp.AnAI-data.vnf.error-message`" />\r
158                                         </record>\r
159                                     </outcome>\r
160                                     <outcome value='success'>\r
161                                         <return status='success'></return>\r
162                                     </outcome>\r
163                                 </update>\r
164                             </outcome>\r
165                         </update>\r
166                     </outcome>\r
167                 </update>\r
168             </block>\r
169         </block>\r
170     </method>\r
171 </service-logic>