Fix ansible server path
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-generate-FQPN.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-generate-FQPN' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='eipam-ip-block.plan-name' value='`$tmp.ss.plan-name`' />\r
8             </set>\r
9             <set>\r
10                 <parameter name='self-serve-generate-FQPN-output.' value='' />\r
11             </set>\r
12             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="getPlanTopology">\r
13                 <outcome value='failure'>\r
14                     <return status="failure">\r
15                         <parameter name="ack-final" value="Y" />\r
16                         <parameter name="error-code" value="500"/>\r
17                         <parameter name="error-message" value="`'An error occured while getting Keyname and Keyvalue for address plan, '+ $eipam-ip-block.planName + ', from EIPAM'`" />\r
18                     </return>\r
19                 </outcome>\r
20             </execute>\r
21             <switch test='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`'>\r
22                 <outcome value=''>\r
23                     <return status="failure">\r
24                         <parameter name="ack-final" value="Y" />\r
25                         <parameter name="error-code" value="500"/>\r
26                         <parameter name="error-message" value="eipam-ip-block.getPlanTopologyResponse.topologyDetails is null" />\r
27                     </return>\r
28                 </outcome>\r
29             </switch>\r
30             <for index="resp-index" start="0" end="`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`">\r
31                 <switch test='`$eipam-ip-block.plan-name == $eipam-ip-block.getPlanTopologyResponse.planName`'>\r
32                     <outcome value='false'>\r
33                         <return status="failure">\r
34                             <parameter name="ack-final" value="Y" />\r
35                             <parameter name="error-code" value="500"/>\r
36                             <parameter name="error-message" value="`'eipam response plan-name ['+ $eipam-ip-block.getPlanTopologyResponse.planName + ' is not the same as input '+$eipam-ip-block.planName`" />\r
37                         </return>\r
38                     </outcome>\r
39                 </switch>\r
40                 <set>\r
41                     <parameter name='pool-index'\r
42    value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].level - 1`' />\r
43                 </set>\r
44                 <set>\r
45                     <parameter name='tmp.getPlanTopologyResponse.key-name' \r
46         value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].keyName`' />\r
47                 </set>\r
48                 <set>\r
49                     <parameter name='tmp.getPlanTopologyResponse.key-value-format' \r
50         value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].keyValueFormat`' />\r
51                 </set>\r
52                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
53                     <parameter name="original_string" value="`$tmp.getPlanTopologyResponse.key-value-format`" />\r
54                     <parameter name="regex" value=":" />\r
55                     <parameter name="ctx_memory_result_key" value="tmp.split.key-value-format" />\r
56                 </execute>\r
57                 <set>\r
58                     <parameter name='tmp.final.key-value' value="" />\r
59                 </set>\r
60                 <for index="split-index" start="0" end="`$tmp.split.key-value-format_length`">\r
61                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
62                         <parameter name="source" value="`$tmp.split.key-value-format[$split-index]`" />\r
63                         <parameter name="target" value="${"/>\r
64                         <parameter name="replacement" value=""/>\r
65                         <parameter name="outputPath" value="tmp.split-value"/>\r
66                     </execute>\r
67                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
68                         <parameter name="source" value="`$tmp.split-value`" />\r
69                         <parameter name="target" value="}"/>\r
70                         <parameter name="replacement" value=""/>\r
71                         <parameter name="outputPath" value="tmp.ss.split-value"/>\r
72                     </execute>\r
73                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
74                         <parameter name="logger" value="message-log"/>\r
75                         <parameter name="field1" value="__TIMESTAMP__"/>\r
76                         <parameter name="field2" value="`'SS: tmp.ss.split-value: ' + $tmp.ss.split-value`"/>\r
77                     </record>\r
78                     <for index="pidx" 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
79                         <set>\r
80                             <parameter name='tmp.ss.param.capability-name' \r
81         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[$pidx].resource-resolution-data.capability-name`' />\r
82                         </set>\r
83                         <switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>\r
84                             <outcome value='true'>\r
85                                 <for index="kidx" 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[$ss.param-index].resource-resolution-data.resource-key_length`">\r
86                                     <set>\r
87                                         <parameter name='tmp.ss.resource-key.name' \r
88         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[$pidx].resource-resolution-data.resource-key[$kidx].name`' />\r
89                                     </set>\r
90                                     <switch test='`$tmp.ss.split-value == $tmp.ss.resource-key.name`'>\r
91                                         <outcome value='true'>\r
92                                             <set>\r
93                                                 <parameter name='tmp.ss.partial.key-value' \r
94         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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\r
95                                             </set>\r
96                                         </outcome>\r
97                                     </switch>\r
98                                 </for>\r
99                             </outcome>\r
100                         </switch>\r
101                     </for>\r
102                     <switch test='`$split-index == 0`'>\r
103                         <outcome value='true'>\r
104                             <set>\r
105                                 <parameter name='tmp.ss.final.key-value' value="`$tmp.ss.partial.key-value`" />\r
106                             </set>\r
107                         </outcome>\r
108                         <outcome value='false'>\r
109                             <set>\r
110                                 <parameter name='tmp.ss.final.key-value' \r
111         value="`$tmp.ss.final.key-value + ':' + $tmp.ss.partial.key-value`" />\r
112                             </set>\r
113                         </outcome>\r
114                     </switch>\r
115                 </for>\r
116                 <set>\r
117                     <parameter name='self-serve-generate-FQPN-output.pools[$pool-index].key-name'\r
118    value='`$tmp.getPlanTopologyResponse.key-name`' />\r
119                     <parameter name='self-serve-generate-FQPN-output.pools[$pool-index].key-value'\r
120         value='`$tmp.ss.final.key-value`' />\r
121                 </set>\r
122             </for>\r
123             <set>\r
124                 <parameter name='self-serve-generate-FQPN-output.pools_length' \r
125         value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`' />\r
126             </set>\r
127         </block>\r
128     </method>\r
129 </service-logic>\r