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-pnf-put' mode='sync'>
\r
5 <block atomic="true">
\r
6 <switch test='`$ss.capability-name`'>
\r
8 <return status="failure">
\r
9 <parameter name="ack-final" value="Y" />
\r
10 <parameter name="error-code" value="500"/>
\r
11 <parameter name="error-message" value="ss.capability-name is null" />
\r
15 <switch test='`$ss.capability-action`'>
\r
17 <return status="failure">
\r
18 <parameter name="ack-final" value="Y" />
\r
19 <parameter name="error-code" value="500"/>
\r
20 <parameter name="error-message" value="ss.capability-action is null" />
\r
23 <outcome value='assign'>
\r
24 <block atomic='true'>
\r
25 <for silentFailure='true' index="aidx" start="0" end="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param_length`">
\r
26 <switch test='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].name`'>
\r
27 <outcome value='pnf-name'>
\r
29 <parameter name='ss.param.pnf-name' value ='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />
\r
30 <parameter name='ss.param.pnf-name-index' value='`$aidx`' />
\r
33 <outcome value='pnf-name2'>
\r
35 <parameter name='ss.param.pnf-name2' value ='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />
\r
36 <parameter name='ss.param.pnf-name2-index' value='`$aidx`' />
\r
39 <outcome value='pnf-id'>
\r
41 <parameter name='ss.param.pnf-id' value ='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />
\r
42 <parameter name='ss.param.pnf-id-index' value='`$aidx`' />
\r
45 <outcome value='aai-pnf-put'>
\r
47 <parameter name='ss.param.aai-pnf-put-index' value='`$aidx`' />
\r
50 <outcome value='ipv4-oam-address'>
\r
52 <parameter name='ss.param.ipv4-oam-address' value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />
\r
53 <parameter name='ss.param.ipv4-oam-address-index' value='`$aidx`' />
\r
56 <outcome value='ipv6-oam-address'>
\r
58 <parameter name='ss.param.ipv6-oam-address' value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$aidx].value`' />
\r
59 <parameter name='ss.param.ipv6-oam-address-index' value='`$aidx`' />
\r
64 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
66 key="pnf.pnf-name = $ss.param.pnf-name "
\r
68 <outcome value='failure'>
\r
69 <block atomic='true'>
\r
71 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status'
\r
74 <return status='failure'>
\r
75 <parameter name='error-code' value='500' />
\r
76 <parameter name='error-message' value="`'Encountered error to get pnf with pnf-name=' + $ss.param.pnf-name + ' from AnAI'`" />
\r
80 <outcome value='not-found'>
\r
81 <block atomic='true'>
\r
83 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status'
\r
86 <return status='failure'>
\r
87 <parameter name='error-code' value='500' />
\r
88 <parameter name='error-message' value="`'pnf with pnf-name=' + $ss.param.pnf-name + ' not found in AAI'`" />
\r
94 <parameter name="ss.selflink"
\r
95 value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' +
\r
96 $service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.service-instance-id +
\r
97 '/service-data/pnfs/pnf/' +
\r
99 '/pnf-data/pnf-topology/'`" />
\r
101 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
103 key="pnf.pnf-name = $ss.param.pnf-name " >
\r
104 <parameter name="pnf-name2" value="`$ss.param.pnf-name2`" />
\r
105 <parameter name="prov-status" value="PREPROV" />
\r
106 <parameter name="selflink" value="`$ss.selflink`" />
\r
107 <parameter name="ipaddress-v4-oam" value="`$ss.param.ipv4-oam-address`" />
\r
108 <parameter name="ipaddress-v6-oam" value="`$ss.param.ipv6-oam-address`" />
\r
109 <parameter name="model-customization-id"
\r
110 value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.onap-model-information.model-customization-uuid`" />
\r
111 <parameter name="model-invariant-id"
\r
112 value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.onap-model-information.model-invariant-uuid`" />
\r
113 <parameter name="model-version-id"
\r
114 value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.onap-model-information.model-uuid`" />
\r
115 <outcome value='failure'>
\r
116 <block atomic='true'>
\r
118 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status'
\r
121 <return status='failure'>
\r
122 <parameter name='error-code' value='500' />
\r
123 <parameter name='error-message' value="`'Failed to update pnf.pnf-name in AnAI with pnf-name=' + $ss.param.pnf-name`" />
\r
127 <outcome value='not-found'>
\r
128 <block atomic='true'>
\r
130 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status'
\r
133 <return status='failure'>
\r
134 <parameter name='error-code' value='500' />
\r
135 <parameter name='error-message' value="`'pnf with pnf-name =' + $ss.param.pnf-name + ' is not found in AAI'`" />
\r
141 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].resource-resolution-data.status'
\r
148 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$ss.param.aai-pnf-put-index].value'
\r
151 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
\r
152 <parameter name='filename' value='/var/tmp/ss-aai-pnf-put.log' />
\r