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
<method rpc='self-serve-generate-name' mode='sync'>\r
<block atomic="true">\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value='{"elements":[' />\r
- </set>\r
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from capability-param-resolution" />\r
- </return>\r
+ <switch test='`$prop.controller.user`'>\r
+ <outcome value=''>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
+ <parameter name='contextPrefix' value='prop' />\r
+ </execute>\r
</outcome>\r
- <outcome value='not-found'>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from capability-param-resolution" />\r
- </return>\r
+ </switch>\r
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' ></call>\r
+ <switch test="`$ss.capability-type`">\r
+ <outcome value='vnf'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-generate-name' mode='sync' ></call>\r
</outcome>\r
- </call>\r
- <switch test="`$ss.capability-type == 'vnf'`">\r
- <outcome value='true'>\r
- <block>\r
- <switch test="`$ss.capability-action == 'unassign'`">\r
- <outcome value='true'>\r
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\r
- <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
- <outcome value='true'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />\r
- </set>\r
- <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
- <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
- <outcome value='true'>\r
- <set>\r
- <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
- </set>\r
- </outcome>\r
- </switch>\r
- </for>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />\r
- </set>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />\r
- </set>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',}' />\r
- <parameter name='replacement' value='}' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',]' />\r
- <parameter name='replacement' value=']' />\r
- </execute>\r
- <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>\r
- <parameter name='payload' value='`$tmp.naming-data-payload`' />\r
- <parameter name="prifix" value="nameGenResponse" />\r
- <outcome value='failure'>\r
- <block>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Unassign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Unassign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- </execute>\r
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
- <parameter name="source" value="nameGenResponse.response-payload" />\r
- <parameter name="outputPath" value="jsonContextPrefix" />\r
- <parameter name="isEscaped" value="false" />\r
- </execute>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='DELETED' />\r
- </set>\r
- <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\r
- <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
- <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`" />\r
- <parameter name="target" value="$"/>\r
- <outcome value='true'>\r
- <block>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\r
- <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' />\r
- <parameter name='regex' value='\$\{' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='s2' />\r
- <parameter name='original_string' value='`$resource-resolution-split[1]`' />\r
- <parameter name='regex' value='\}' />\r
- </execute>\r
- <switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\r
- <outcome value='true'>\r
- <set>\r
- <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
- </set>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </execute>\r
- </for>\r
- </for>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </for>\r
- </outcome>\r
- </switch>\r
- <switch test="`$ss.capability-action == 'assign'`">\r
- <outcome value='true'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value='' />\r
- </set>\r
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\r
- <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
- <outcome value='true'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />\r
- </set>\r
- <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
- <set>\r
- <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
- </set>\r
- </for>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />\r
- </set>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </for>\r
- <switch test="`$tmp.naming-data-payload == ''`">\r
- <outcome value='false'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />\r
- </set>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',}' />\r
- <parameter name='replacement' value='}' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',]' />\r
- <parameter name='replacement' value=']' />\r
- </execute>\r
- <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\r
- <parameter name='payload' value='`$tmp.naming-data-payload`' />\r
- <parameter name="prifix" value="nameGenResponse" />\r
- <outcome value='failure'>\r
- <block>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Assign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Assign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- </execute>\r
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
- <parameter name="source" value="nameGenResponse.response-payload" />\r
- <parameter name="outputPath" value="jsonContextPrefix" />\r
- <parameter name="isEscaped" value="false" />\r
- </execute>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='SUCCESS' />\r
- </set>\r
- <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\r
- <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
- <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`" />\r
- <parameter name="target" value="$"/>\r
- <outcome value='true'>\r
- <block>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\r
- <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' />\r
- <parameter name='regex' value='\$\{' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='s2' />\r
- <parameter name='original_string' value='`$resource-resolution-split[1]`' />\r
- <parameter name='regex' value='\}' />\r
- </execute>\r
- <switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\r
- <outcome value='true'>\r
- <set>\r
- <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
- </set>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </execute>\r
- </for>\r
- </for>\r
- <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
- <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`" />\r
- <parameter name="target" value="$"/>\r
- <outcome value='false'>\r
- <block>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.capability-name`' value='INPUT' />\r
- </set>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.status`' value='SUCCESS' />\r
- </set>\r
- </block>\r
- </outcome>\r
- </execute>\r
- </for>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
+ <outcome value='vf-module'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-generate-name' mode='sync' ></call>\r
</outcome>\r
- </switch>\r
- <switch test="`$ss.capability-type == 'vf-module'`">\r
- <outcome value='true'>\r
- <block>\r
- <switch test="`$ss.capability-action == 'unassign'`">\r
- <outcome value='true'>\r
- <for index='i' 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
- <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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\r
- <outcome value='true'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />\r
- </set>\r
- <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[$i].resource-resolution-data.resource-key_length`' >\r
- <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[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '"' + $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[$i].resource-resolution-data.resource-key[$j].name + '":' + '"' + $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[$i].resource-resolution-data.resource-key[$j].value + '",'`"/>\r
- </set>\r
- </outcome>\r
- </switch>\r
- </for>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />\r
- </set>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />\r
- </set>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',}' />\r
- <parameter name='replacement' value='}' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',]' />\r
- <parameter name='replacement' value=']' />\r
- </execute>\r
- <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>\r
- <parameter name='payload' value='`$tmp.naming-data-payload`' />\r
- <parameter name="prifix" value="nameGenResponse" />\r
- <outcome value='failure'>\r
- <block>\r
- <set>\r
- <parameter name='`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[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Unassign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block>\r
- <set>\r
- <parameter name='`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[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Unassign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- </execute>\r
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
- <parameter name="source" value="nameGenResponse.response-payload" />\r
- <parameter name="outputPath" value="jsonContextPrefix" />\r
- <parameter name="isEscaped" value="false" />\r
- </execute>\r
- <set>\r
- <parameter name='`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[$i].resource-resolution-data.status`' value='DELETED' />\r
- </set>\r
- <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\r
- <for index='l' 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
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
- <parameter name="source" 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[$l].value`" />\r
- <parameter name="target" value="$"/>\r
- <outcome value='true'>\r
- <block>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\r
- <parameter name='original_string' 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[$l].value`' />\r
- <parameter name='regex' value='\$\{' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='s2' />\r
- <parameter name='original_string' value='`$resource-resolution-split[1]`' />\r
- <parameter name='regex' value='\}' />\r
- </execute>\r
- <switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`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[$l].value`' value="`$jsonContextPrefix.elements[$n].resource-value`" />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </execute>\r
- </for>\r
- </for>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </for>\r
- </outcome>\r
- </switch>\r
- <switch test="`$ss.capability-action == 'assign'`">\r
- <outcome value='true'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value='' />\r
- </set>\r
- <for index='i' 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
- <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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\r
- <outcome value='true'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />\r
- </set>\r
- <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[$i].resource-resolution-data.resource-key_length`' >\r
- <set>\r
- <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '"' + $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[$i].resource-resolution-data.resource-key[$j].name + '":' + '"' + $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[$i].resource-resolution-data.resource-key[$j].value + '",'`"/>\r
- </set>\r
- </for>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />\r
- </set>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </for>\r
- <switch test="`$tmp.naming-data-payload == ''`">\r
- <outcome value='false'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />\r
- </set>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',}' />\r
- <parameter name='replacement' value='}' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\r
- <parameter name='outputPath' value='tmp.naming-data-payload' />\r
- <parameter name='source' value='`$tmp.naming-data-payload`' />\r
- <parameter name='target' value=',]' />\r
- <parameter name='replacement' value=']' />\r
- </execute>\r
- <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\r
- <parameter name='payload' value='`$tmp.naming-data-payload`' />\r
- <parameter name="prifix" value="nameGenResponse" />\r
- <outcome value='failure'>\r
- <block>\r
- <set>\r
- <parameter name='`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[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Assign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block>\r
- <set>\r
- <parameter name='`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[$i].resource-resolution-data.status`' value='FAILED' />\r
- </set>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="Error from NameGenerationNode Assign" />\r
- </return>\r
- </block>\r
- </outcome>\r
- </execute>\r
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
- <parameter name="source" value="nameGenResponse.response-payload" />\r
- <parameter name="outputPath" value="jsonContextPrefix" />\r
- <parameter name="isEscaped" value="false" />\r
- </execute>\r
- <set>\r
- <parameter name='`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[$i].resource-resolution-data.status`' value='SUCCESS' />\r
- </set>\r
- <for index='cn' 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
- <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[$cn].name == 'vnfc-name'`">\r
- <outcome value='true'>\r
- <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[$cn].resource-resolution-data.resource-key_length`' >\r
- <block>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'vm-type'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-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[$cn].resource-resolution-data.resource-key[$j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'model-invariant-uuid'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-invariant-uuid`' 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[$cn].resource-resolution-data.resource-key[$j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'model-customization-uuid'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-customization-uuid`' 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[$cn].resource-resolution-data.resource-key[$j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'model-uuid'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-uuid`' 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[$cn].resource-resolution-data.resource-key[$j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'model-version'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-version`' 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[$cn].resource-resolution-data.resource-key[j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'model-name'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-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[$cn].resource-resolution-data.resource-key[$j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- <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[$cn].resource-resolution-data.resource-key[$j].name == 'vnfc-name'`">\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-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[$cn].resource-resolution-data.resource-key[$j].value`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </for>\r
- </outcome>\r
- </switch>\r
- </for>\r
- <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\r
- <for index='l' 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
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
- <parameter name="source" 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[$l].value`" />\r
- <parameter name="target" value="$"/>\r
- <outcome value='true'>\r
- <block>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\r
- <parameter name='original_string' 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[$l].value`' />\r
- <parameter name='regex' value='\$\{' />\r
- </execute>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
- <parameter name='ctx_memory_result_key' value='s2' />\r
- <parameter name='original_string' value='`$resource-resolution-split[1]`' />\r
- <parameter name='regex' value='\}' />\r
- </execute>\r
- <switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='`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[$l].value`' value="`$jsonContextPrefix.elements[$n].resource-value`" />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </execute>\r
- </for>\r
- </for>\r
- <for index='l' 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
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
- <parameter name="source" 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[$l].value`" />\r
- <parameter name="target" value="$"/>\r
- <outcome value='false'>\r
- <block>\r
- <set>\r
- <parameter name='`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[$l].resource-resolution-data.capability-name`' value='INPUT' />\r
- </set>\r
- <set>\r
- <parameter name='`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[$l].resource-resolution-data.status`' value='SUCCESS' />\r
- </set>\r
- </block>\r
- </outcome>\r
- </execute>\r
- </for>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
+ <outcome value='pnf'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-pnf-generate-name' mode='sync' ></call>\r
</outcome>\r
</switch>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
+ <parameter name='filename' value='`$pathname`' />\r
+ </execute>\r
</block>\r
</method>\r
</service-logic>
\ No newline at end of file