Merge "Remove test for Active on Delete"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_query-aai-l3-network-by-network-role.xml
1 <service-logic\r
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
7                 <outcome value=''>\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
12                     </return>\r
13                 </outcome>\r
14             </switch>\r
15             <switch test='`$query-aai-l3-network-by-network-role-input.service-instance-id`'>\r
16                 <outcome value=''>\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
21                     </return>\r
22                 </outcome>\r
23             </switch>\r
24             <switch test='`$query-aai-l3-network-by-network-role-input.network-role`'>\r
25                 <outcome value=''>\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
30                     </return>\r
31                 </outcome>\r
32             </switch>\r
33             <set>\r
34                 <parameter name='query-aai-l3-network-by-network-role-output.' value='' />\r
35             </set>\r
36             <set>\r
37                 <parameter name='tmp.aai.l3-networks.' value='' />\r
38             </set>\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
50                     </return>\r
51                 </outcome>\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
57                     </return>\r
58                 </outcome>\r
59             </get-resource>\r
60             <switch test='`$tmp.aai.l3-networks.l3-network_length`'>\r
61                 <outcome value='1'>\r
62                     <set>\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
65                         <!--\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
69 -->\r
70                     </set>\r
71                 </outcome>\r
72                 <outcome value='Other'>\r
73                     <block atomic='true'>\r
74                         <set>\r
75                             <parameter name='tmp.l3-network-found' value='0' />\r
76                         </set>\r
77                         <set>\r
78                             <parameter name='cloud.matched.l3-networks_length' value='0' />\r
79                         </set>\r
80                         <for index='network-index' start='0' end='`$tmp.aai.l3-networks.l3-network_length`' >\r
81                             <block>\r
82                                 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length`'>\r
83                                     <outcome value=''>\r
84                                         <set>\r
85                                             <parameter name ='tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length' value = '0' />\r
86                                         </set>\r
87                                     </outcome>\r
88                                 </switch>\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
97                                                                 <block>\r
98                                                                     <set>\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
101                                                                     </set>\r
102                                                                     <set>\r
103                                                                         <parameter name='cloud.matched.l3-networks_length' value='`$cloud.matched.l3-networks_length + 1`' />\r
104                                                                     </set>\r
105                                                                 </block>\r
106                                                             </outcome>\r
107                                                         </switch>\r
108                                                     </outcome>\r
109                                                 </switch>\r
110                                             </for>\r
111                                         </outcome>\r
112                                     </switch>\r
113                                 </for>\r
114                             </block>\r
115                         </for>\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
122                                 </return>\r
123                             </outcome>\r
124                             <outcome value='1'>\r
125                                 <set>\r
126                                     <parameter name='query-aai-l3-network-by-network-role-output.l3-network.' \r
127         value='`$cloud.matched.l3-networks[0].`' />\r
128                                     <!--                \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
132 -->\r
133                                 </set>\r
134                             </outcome>\r
135                             <outcome value='Other'>\r
136                                 <block atomic='true'>\r
137                                     <block>\r
138                                         <for index='cidx' start='0' end='`$cloud.matched.l3-networks_length`' >\r
139                                             <block>\r
140                                                 <switch test='`$tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length`'>\r
141                                                     <outcome value=''>\r
142                                                         <set>\r
143                                                             <parameter name ='tmp.aai.l3-networks.l3-network[$network-index].relationship-list.relationship_length' value = '0' />\r
144                                                         </set>\r
145                                                     </outcome>\r
146                                                 </switch>\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
156                                                                                     <set>\r
157                                                                                         <parameter name='query-aai-l3-network-by-network-role-output.l3-network.' \r
158         value='`$cloud.matched.l3-networks[$cidx].`' />\r
159                                                                                         <!--\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
163 -->\r
164                                                                                     </set>\r
165                                                                                     <set>\r
166                                                                                         <parameter name='tmp.l3-network-found' value='1' />\r
167                                                                                     </set>\r
168                                                                                     <return status='failure'></return>\r
169                                                                                 </block>\r
170                                                                             </outcome>\r
171                                                                         </switch>\r
172                                                                     </outcome>\r
173                                                                 </switch>\r
174                                                             </for>\r
175                                                         </outcome>\r
176                                                     </switch>\r
177                                                 </for>\r
178                                             </block>\r
179                                         </for>\r
180                                         <return status='success'></return>\r
181                                     </block>\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
188                                             </return>\r
189                                         </outcome>\r
190                                     </switch>\r
191                                 </block>\r
192                             </outcome>\r
193                         </switch>\r
194                     </block>\r
195                 </outcome>\r
196             </switch>\r
197         </block>\r
198     </method>\r
199 </service-logic>