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='query-aai-l3-network-by-network-role' mode='sync'>
\r
5 <block atomic='true'>
\r
6 <switch test='`$query-aai-l3-network-by-network-role-input.aic-cloud-region`'>
\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="query-aai-l3-network-by-network-role-input.aic-cloud-region is null" />
\r
15 <switch test='`$query-aai-l3-network-by-network-role-input.service-instance-id`'>
\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="query-aai-l3-network-by-network-role-input.service-instance-id is null" />
\r
24 <switch test='`$query-aai-l3-network-by-network-role-input.network-role`'>
\r
26 <return status="failure">
\r
27 <parameter name="ack-final" value="Y" />
\r
28 <parameter name="error-code" value="500"/>
\r
29 <parameter name="error-message" value="query-aai-l3-network-by-network-role-input.network-role is null" />
\r
34 <parameter name='query-aai-l3-network-by-network-role-output.' value='' />
\r
37 <parameter name='tmp.aai.l3-networks.' value='' />
\r
39 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
40 resource="l3-networks"
\r
41 key="l3-network.network-role = $query-aai-l3-network-by-network-role-input.network-role"
\r
42 pfx='tmp.aai.l3-networks' >
\r
43 <outcome value='not-found'>
\r
44 <return status='failure'>
\r
45 <parameter name='ack-final' value='Y'/>
\r
46 <parameter name="error-code" value="500" />
\r
47 <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '
\r
48 + $vnf-topology-operation-input.vnf-request-information.aic-cloud-region + ' and network_role '
\r
49 + $query-aai-l3-network-by-network-role-input.network-role`" />
\r
52 <outcome value='failure'>
\r
53 <return status='failure'>
\r
54 <parameter name='ack-final' value='Y'/>
\r
55 <parameter name="error-code" value="500" />
\r
56 <parameter name="error-message" value="`'Error retrieving l3-network from AAI with network-role = ' + $query-aai-l3-network-by-network-role-input.network-role`" />
\r
60 <switch test='`$tmp.aai.l3-networks.l3-network_length`'>
\r
63 <parameter name='query-aai-l3-network-by-network-role-output.l3-network.'
\r
64 value='`$tmp.aai.l3-networks.l3-network[0].`' />
\r
66 <parameter name='query-aai-l3-network-by-network-role-output.network-id'
\r
67 value='`$tmp.aai.l3-networks.l3-network[0].network-id`' /><parameter name='query-aai-l3-network-by-network-role-output.network-name'
\r
68 value='`$tmp.aai.l3-networks.l3-network[0].network-name`' />
\r
72 <outcome value='Other'>
\r
73 <block atomic='true'>
\r
75 <parameter name='tmp.l3-network-found' value='0' />
\r
78 <parameter name='cloud.matched.l3-networks_length' value='0' />
\r
80 <for index='network-index' start='0' end='`$tmp.aai.l3-networks.l3-network_length`' >
\r
82 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length`'>
\r
85 <parameter name ='tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length' value = '0' />
\r
89 <for index='ridx' start='0' end='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length`' >
\r
90 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship[$ridx].related-to`'>
\r
91 <outcome value='cloud-region'>
\r
92 <for silentFailure='false' index='rdidx' start='0' end="`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship[$ridx].relationship-data_length`" >
\r
93 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
\r
94 <outcome value='cloud-region.cloud-region-id'>
\r
95 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value == $query-aai-l3-network-by-network-role-input.aic-cloud-region`'>
\r
96 <outcome value='true'>
\r
99 <parameter name='cloud.matched.l3-networks[$cloud.matched.l3-networks_length].'
\r
100 value='$tmp.aai.l3-networks.l3-network[$network-index].' />
\r
103 <parameter name='cloud.matched.l3-networks_length' value='`$cloud.matched.l3-networks_length + 1`' />
\r
116 <switch test='`$cloud.matched.l3-networks_length`'>
\r
117 <outcome value='0'>
\r
118 <return status='failure'>
\r
119 <parameter name='ack-final' value='Y'/>
\r
120 <parameter name="error-code" value="500" />
\r
121 <parameter name="error-message" value="`'No l3-network with network-role=' + $query-aai-l3-network-by-network-role-input.network-role + ' and cloud-region=' + $query-aai-l3-network-by-network-role-input.aic-cloud-region + ' found in AAI'`" />
\r
124 <outcome value='1'>
\r
126 <parameter name='query-aai-l3-network-by-network-role-output.l3-network.'
\r
127 value='`$cloud.matched.l3-networks[0].`' />
\r
129 <parameter name='query-aai-l3-network-by-network-role-output.network-id'
\r
130 value='`$cloud.matched.l3-networks[0].network-id`' /><parameter name='query-aai-l3-network-by-network-role-output.network-name'
\r
131 value='`$cloud.matched.l3-networks[0].network-name`' />
\r
135 <outcome value='Other'>
\r
136 <block atomic='true'>
\r
138 <for index='cidx' start='0' end='`$cloud.matched.l3-networks_length`' >
\r
140 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length`'>
\r
143 <parameter name ='tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length' value = '0' />
\r
147 <for index='ridx' start='0' end='`$cloud.matched.l3-networks[$cidx].relationship-list.relationship_length`' >
\r
148 <switch test='`$cloud.matched.l3-networks[$cidx].relationship-list.relationship[$ridx].related-to`'>
\r
149 <outcome value='service-instance'>
\r
150 <for silentFailure='false' index='rdidx' start='0' end="`$cloud.matched.l3-networks[$cidx].relationship-list.relationship[$ridx].relationship-data_length`" >
\r
151 <switch test='`$cloud.matched.l3-networks[$cidx].relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
\r
152 <outcome value='service-instance.service-instance-id'>
\r
153 <switch test='`$cloud.matched.l3-networks[$cidx].relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value == $query-aai-l3-network-by-network-role-input.service-instance-id`'>
\r
154 <outcome value='true'>
\r
155 <block atomic='true'>
\r
157 <parameter name='query-aai-l3-network-by-network-role-output.l3-network.'
\r
158 value='`$cloud.matched.l3-networks[$cidx].`' />
\r
160 <parameter name='query-aai-l3-network-by-network-role-output.network-id'
\r
161 value='`$cloud.matched.l3-networks[$cidx].network-id`' /><parameter name='query-aai-l3-network-by-network-role-output.network-name'
\r
162 value='`$cloud.matched.l3-networks[$cidx].network-name`' />
\r
166 <parameter name='tmp.l3-network-found' value='1' />
\r
168 <return status='failure'></return>
\r
180 <return status='success'></return>
\r
182 <switch test='`$tmp.l3-network-found`'>
\r
183 <outcome value='0'>
\r
184 <return status='failure'>
\r
185 <parameter name='ack-final' value='Y'/>
\r
186 <parameter name="error-code" value="500" />
\r
187 <parameter name="error-message" value="`'No l3-network with network-role=' + $query-aai-l3-network-by-network-role-input.network-role + ' and cloud-region=' + $query-aai-l3-network-by-network-role-input.aic-cloud-region + ' and service-instance-id=' + $query-aai-l3-network-by-network-role-input.service-instance-id + ' found in AAI'`" />
\r