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
7 <parameter name='eipam-ip-block.plan-name' value='`$tmp.ss.plan-name`' />
\r
10 <parameter name='self-serve-generate-FQPN-output.' value='' />
\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
21 <switch test='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`'>
\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
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
41 <parameter name='pool-index'
\r
42 value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].Level - 1`' />
\r
45 <parameter name='tmp.getPlanTopologyResponse.key-name'
\r
46 value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].KeyName`' />
\r
49 <parameter name='tmp.getPlanTopologyResponse.key-value-format'
\r
50 value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].KeyValueFormat`' />
\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
58 <parameter name='tmp.final.key-value' value="" />
\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
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
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
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
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
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
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
90 <switch test='`$tmp.ss.split-value == $tmp.ss.resource-key.name`'>
\r
91 <outcome value='true'>
\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
102 <switch test='`$split-index == 0`'>
\r
103 <outcome value='true'>
\r
105 <parameter name='tmp.ss.final.key-value' value="`$tmp.ss.partial.key-value`" />
\r
108 <outcome value='false'>
\r
110 <parameter name='tmp.ss.final.key-value'
\r
111 value="`$tmp.ss.final.key-value + ':' + $tmp.ss.partial.key-value`" />
\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
124 <parameter name='self-serve-generate-FQPN-output.pools_length'
\r
125 value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`' />
\r