2 xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4 <method rpc='cll-vnf-topology-operation-cll-modify' mode='sync'>
6 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
7 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
8 <parameter name='contextPrefix' value='prop' />
10 <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->
11 <!-- resource="service-instance"-->
12 <!-- key='service-instance.service-instance-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id-->
13 <!-- AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id -->
14 <!-- AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'-->
15 <!-- local-only="false"-->
16 <!-- force="true" pfx="tmp.aai.service-instance">-->
17 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
18 resource="service-instance"
19 key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
20 AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
21 AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type'
23 force="true" pfx="tmp.aai.service-instance">
24 <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->
25 <!-- resource="service-instance"-->
26 <!-- key='service-instance.service-instance-id = $service-data.service-information.service-instance-id-->
27 <!-- AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id -->
28 <!-- AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'-->
29 <!-- local-only="false"-->
30 <!-- force="true" pfx="tmp.aai.service-instance">-->
31 <outcome value='success'>
32 <switch test='`$tmp.aai.service-instance.allotted-resources.allotted-resource_length != 0`'>
33 <outcome value='false'></outcome>
34 <outcome value='true'>
37 <parameter name='tmp.arr' value='' />
38 <parameter name='tmp.arridx' value='0' />
39 <parameter name='tmp.arr_length' value='0' />
40 <parameter name='otn-tunnel-slice' value='' />
41 <parameter name='otn-tunnel-slice_length' value='0' />
42 <!--<parameter name='tmp.slicevpns' value='' />-->
43 <!--<parameter name='tmp.slicevpns_length' value='0' />-->
44 <!--<parameter name='tmp.slicevpnuuids' value='' />-->
45 <!--<parameter name='tmp.slicevpnuuids.' value='' />-->
46 <parameter name='bwModified' value='false' />
48 <for index='aridx' start='0' end='`$tmp.aai.service-instance.allotted-resources.allotted-resource_length`' >
50 <parameter name='allotted-resource-id' value="`$tmp.aai.service-instance.allotted-resources.allotted-resource[$aridx].id`" />
52 <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->
53 <!-- resource="allotted-resource"-->
54 <!-- key='service-instance.service-instance-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id-->
55 <!-- AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id -->
56 <!-- AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type-->
57 <!-- AND allotted-resource.id = $allotted-resource-id'-->
58 <!-- local-only="false"-->
59 <!-- force="true" pfx="tmp.aai.allotted-resource">-->
60 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
61 resource="allotted-resource"
62 key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
63 AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
64 AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type
65 AND allotted-resource.id = $allotted-resource-id'
67 force="true" pfx="tmp.aai.allotted-resource">
68 <outcome value='not-found'>
69 <return status='failure'>
70 <parameter name='ack-final' value='Y'/>
71 <parameter name="error-code" value="500" />
72 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
75 <outcome value='failure'>
76 <return status='failure'>
77 <parameter name='error-code' value='' />
78 <parameter name='error-message' value='' />
81 <outcome value='success'>
83 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
84 resource="allotted-resource:relationship-list"
85 key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
86 AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
87 AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type
88 AND allotted-resource.id = $allotted-resource-id'
90 force="true" pfx="tmp.aai.allotted-resource.relationship-list">
91 <outcome value='not-found'>
92 <return status='failure'>
93 <parameter name='ack-final' value='Y'/>
94 <parameter name="error-code" value="500" />
95 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
98 <outcome value='failure'>
99 <return status='failure'>
100 <parameter name='error-code' value='' />
101 <parameter name='error-message' value='' />
104 <outcome value='success'>
105 <block atomic="true">
106 <switch test='`$tmp.aai.allotted-resource.relationship-list.relationship_length != 0`'>
107 <outcome value='false'></outcome>
108 <outcome value='true'>
109 <block atomic="true">
110 <for index='idx' start='0' end='`$tmp.aai.allotted-resource.relationship-list.relationship_length`' >
111 <switch test='`$tmp.aai.allotted-resource.relationship-list.relationship[$idx].related-to`'>
112 <outcome value='network-policy'>
113 <block atomic="true">
115 <parameter name='network-policy-id' value="`$tmp.aai.allotted-resource.relationship-list.relationship[$idx].relationship-data[0].relationship-value`" />
117 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
118 resource="network-policy"
119 key='network-policy.network-policy-id = $network-policy-id'
121 force="true" pfx="tmp.aai.network-policy">
122 <outcome value='not-found'>
123 <return status='failure'>
124 <parameter name='ack-final' value='Y'/>
125 <parameter name="error-code" value="500" />
126 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
129 <outcome value='failure'>
130 <return status='failure'>
131 <parameter name='error-code' value='' />
132 <parameter name='error-message' value='' />
135 <outcome value='success'>
138 <parameter name='maximum-bandwidth' value="`$tmp.aai.network-policy.max-bandwidth`" />
139 <parameter name='route-distinguisher' value='`$maximum-bandwidth /1000 *4 /5 +1`' />
142 <parameter name='gfp' value='`$maximum-bandwidth /1000 *4 /5 +1`' />
151 <block atomic='true'>
152 <for index='rel-index' start='0' end='`$tmp.aai.service-instance.relationship-list.relationship_length`' >
153 <switch test='`$tmp.aai.service-instance.relationship-list.relationship[$rel-index].related-to`'>
154 <outcome value='connectivity'>
155 <block atomic="true">
157 <parameter name='tmp.aai.connectivity.' value='' />
159 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
160 resource="connectivity"
161 key="connectivity.connectivity-id = $tmp.aai.service-instance.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
163 pfx="tmp.aai.connectivity" >
164 <outcome value='success'>
165 <block atomic="true">
166 <switch test='`$tmp.aai.connectivity.bandwidth-profile-name == $gfp`'>
167 <outcome value='true'></outcome>
168 <outcome value='false'>
169 <block atomic="true">
171 <parameter name='bwModified' value="true" />
173 <for silentFailure='true' index='cridx' start='0' end='`$tmp.aai.connectivity.relationship-list.relationship_length`' >
174 <switch test='`$tmp.aai.connectivity.relationship-list.relationship[$cridx].related-to`'>
175 <outcome value='vpn-binding'>
176 <block atomic="true">
178 <parameter name='tmp.aai.vpn-binding.' value='' />
180 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
181 resource="vpn-binding"
182 key="vpn-binding.vpn-id = $tmp.aai.connectivity.relationship-list.relationship[$cridx].relationship-data[0].relationship-value"
184 pfx="tmp.aai.vpn-binding" >
185 <outcome value='success'>
186 <block atomic="true">
187 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
188 key='vpn-binding.vpn-id = $tmp.aai.vpn-binding.vpn-id' >
189 <parameter name='vpn-id' value='`$tmp.aai.vpn-binding.vpn-id`' />
190 <parameter name='vpn-name' value='`$tmp.aai.vpn-binding.vpn-name`' />
191 <parameter name='route-distinguisher' value='`$gfp`' />
192 <parameter name='operational-status' value='Modified' />
194 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
195 key='connectivity.connectivity-id = $tmp.aai.connectivity.connectivity-id'>
196 <parameter name='connectivity-id' value='`$tmp.aai.connectivity.connectivity-id`' />
197 <parameter name='operational-status' value='Modified' />
198 <parameter name='bandwidth-profile-name' value='`$gfp`' />
199 <parameter name='cir' value='`$gfp *1000000`' />
200 <parameter name='eir' value='`$gfp *1000000`' />
204 <outcome value='not-found'>
205 <return status='failure'>
206 <parameter name='ack-final' value='Y'/>
207 <parameter name="error-code" value="500" />
208 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
211 <outcome value='failure'>
212 <return status='failure'>
213 <parameter name='error-code' value='' />
214 <parameter name='error-message' value='' />
227 <outcome value='not-found'>
228 <return status='failure'>
229 <parameter name='ack-final' value='Y'/>
230 <parameter name="error-code" value="500" />
231 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
234 <outcome value='failure'>
235 <return status='failure'>
236 <parameter name='error-code' value='' />
237 <parameter name='error-message' value='' />
245 <call module='GENERIC-RESOURCE-API' rpc='cll-vnf-topology-operation-cll-F1-activate' mode='sync' ></call>
261 <outcome value='not-found'>
262 <return status='failure'>
263 <parameter name='ack-final' value='Y'/>
264 <parameter name="error-code" value="500" />
265 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
268 <outcome value='failure'>
269 <return status='failure'>
270 <parameter name='error-code' value='' />
271 <parameter name='error-message' value='' />
275 <return status='success'>
276 <parameter name="ack-final-indicator" value="Y" />
277 <parameter name="error-code" value="200" />
278 <parameter name="error-message" value="`$error-message`" />