Merge "Add DG json/xml in releases to gitignore"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation.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='network-topology-operation' mode='sync'>\r
5         <block atomic="true">\r
6             <call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' ></call>\r
7             <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
8                 <outcome value='assign'>\r
9                     <block atomic="true">\r
10                         <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' ></call>\r
11                     </block>\r
12                 </outcome>\r
13                 <outcome value='activate'>\r
14                     <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
15                         <outcome value='ActivateSOTNConnectivityInstance'>\r
16                             <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-activate' mode='sync' ></call>\r
17                         </outcome>\r
18                         <outcome value='ActivateDCINetworkInstance'>\r
19                             <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' ></call>\r
20                         </outcome>\r
21                         <outcome value='other'>\r
22                             <block atomic="true">\r
23                                 <switch test='`$service-data.networks.network_length`'>\r
24                                     <outcome value=''>\r
25                                         <return status='failure'>\r
26                                             <parameter name='ack-final' value='Y'/>\r
27                                             <parameter name="error-code" value="500" />\r
28                                             <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
29                                         </return>\r
30                                     </outcome>\r
31                                     <outcome value='Other'>\r
32                                         <block atomic="true">\r
33                                             <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
34                                                 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
35                                                     <outcome value='true'>\r
36                                                         <set>\r
37                                                             <parameter name='tmp.nidx' value='`$nidx`' />\r
38                                                             <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
39                                                         </set>\r
40                                                     </outcome>\r
41                                                 </switch>\r
42                                             </for>\r
43                                             <switch test="`$tmp.nidx`">\r
44                                                 <outcome value=''>\r
45                                                     <return status='failure'>\r
46                                                         <parameter name='ack-final' value='Y'/>\r
47                                                         <parameter name="error-code" value="500" />\r
48                                                         <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
49                                                     </return>\r
50                                                 </outcome>\r
51                                             </switch>\r
52                                         </block>\r
53                                     </outcome>\r
54                                 </switch>\r
55                                 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
56                                     <outcome value='PendingCreate'>\r
57                                         <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' ></call>\r
58                                     </outcome>\r
59                                     <outcome value='Other'>\r
60                                         <return status='failure'>\r
61                                             <parameter name='ack-final' value='Y'/>\r
62                                             <parameter name="error-code" value="500" />\r
63                                             <parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />\r
64                                         </return>\r
65                                     </outcome>\r
66                                 </switch>\r
67                             </block>\r
68                         </outcome>\r
69                     </switch>\r
70                 </outcome>\r
71                 <outcome value='deactivate'>\r
72                     <block atomic="true">\r
73                         <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
74                             <outcome value='DeactivateSOTNConnectivityInstance'>\r
75                                 <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-deactivate' mode='sync' ></call>\r
76                             </outcome>\r
77                             <outcome value='Other'>\r
78                                 <block atomic="true">\r
79                                     <switch test='`$service-data.networks.network_length`'>\r
80                                         <outcome value=''>\r
81                                             <return status='failure'>\r
82                                                 <parameter name='ack-final' value='Y'/>\r
83                                                 <parameter name="error-code" value="500" />\r
84                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
85                                             </return>\r
86                                         </outcome>\r
87                                         <outcome value='Other'>\r
88                                             <block atomic="true">\r
89                                                 <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
90                                                     <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
91                                                         <outcome value='true'>\r
92                                                             <set>\r
93                                                                 <parameter name='tmp.nidx' value='`$nidx`' />\r
94                                                                 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
95                                                             </set>\r
96                                                         </outcome>\r
97                                                     </switch>\r
98                                                 </for>\r
99                                                 <switch test="`$tmp.nidx`">\r
100                                                     <outcome value=''>\r
101                                                         <return status='failure'>\r
102                                                             <parameter name='ack-final' value='Y'/>\r
103                                                             <parameter name="error-code" value="500" />\r
104                                                             <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
105                                                         </return>\r
106                                                     </outcome>\r
107                                                 </switch>\r
108                                             </block>\r
109                                         </outcome>\r
110                                     </switch>\r
111                                     <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
112                                         <outcome value='Created'>\r
113                                             <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
114                                                 <outcome value='DeActivateDCINetworkInstance'>\r
115                                                     <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' ></call>\r
116                                                 </outcome>\r
117                                                 <outcome value='Other'>\r
118                                                     <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' ></call>\r
119                                                 </outcome>\r
120                                             </switch>\r
121                                         </outcome>\r
122                                         <outcome value='Other'>\r
123                                             <return status='failure'>\r
124                                                 <parameter name='ack-final' value='Y'/>\r
125                                                 <parameter name="error-code" value="500" />\r
126                                                 <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />\r
127                                             </return>\r
128                                         </outcome>\r
129                                     </switch>\r
130                                 </block>\r
131                             </outcome>\r
132                         </switch>\r
133                     </block>\r
134                 </outcome>\r
135                 <outcome value='unassign'>\r
136                     <block atomic="true">\r
137                         <switch test='`$service-data.networks.network_length`'>\r
138                             <outcome value=''>\r
139                                 <return status='failure'>\r
140                                     <parameter name='ack-final' value='Y'/>\r
141                                     <parameter name="error-code" value="500" />\r
142                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
143                                 </return>\r
144                             </outcome>\r
145                             <outcome value='Other'>\r
146                                 <block atomic="true">\r
147                                     <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
148                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
149                                             <outcome value='true'>\r
150                                                 <set>\r
151                                                     <parameter name='tmp.nidx' value='`$nidx`' />\r
152                                                     <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
153                                                 </set>\r
154                                             </outcome>\r
155                                         </switch>\r
156                                     </for>\r
157                                     <switch test="`$tmp.nidx`">\r
158                                         <outcome value=''>\r
159                                             <return status='failure'>\r
160                                                 <parameter name='ack-final' value='Y'/>\r
161                                                 <parameter name="error-code" value="500" />\r
162                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
163                                             </return>\r
164                                         </outcome>\r
165                                     </switch>\r
166                                 </block>\r
167                             </outcome>\r
168                         </switch>\r
169                         <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
170                             <outcome value='PendingCreate'>\r
171                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>\r
172                             </outcome>\r
173                             <outcome value='PendingDelete'>\r
174                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>\r
175                             </outcome>\r
176                             <outcome value='Other'>\r
177                                 <return status='failure'>\r
178                                     <parameter name='ack-final' value='Y'/>\r
179                                     <parameter name="error-code" value="500" />\r
180                                     <parameter name="error-message" value="`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />\r
181                                 </return>\r
182                             </outcome>\r
183                         </switch>\r
184                     </block>\r
185                 </outcome>\r
186                 <outcome value='Other'>\r
187                     <return status='failure'>\r
188                         <parameter name='ack-final' value='Y'/>\r
189                         <parameter name="error-code" value="500" />\r
190                         <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />\r
191                     </return>\r
192                 </outcome>\r
193                 <outcome value='create'>\r
194                     <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
195                         <outcome value='CreateSOTNConnectivityInstance'>\r
196                             <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-create' mode='sync' ></call>\r
197                         </outcome>\r
198                         <outcome value='other'>\r
199                             <block atomic="true">\r
200                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' ></call>\r
201                             </block>\r
202                         </outcome>\r
203                     </switch>\r
204                 </outcome>\r
205                 <outcome value='delete'>\r
206                     <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
207                         <outcome value='DeleteSOTNConnectivityInstance'>\r
208                             <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-delete' mode='sync' ></call>\r
209                         </outcome>\r
210                         <outcome value='other'>\r
211                             <block atomic="true">\r
212                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' ></call>\r
213                             </block>\r
214                         </outcome>\r
215                     </switch>\r
216                 </outcome>\r
217             </switch>\r
218             <set>\r
219                 <parameter name="ack-final" value="Y"/>\r
220             </set>\r
221             <return status='success'>\r
222                 <parameter name="ack-final-indicator" value="Y" />\r
223                 <parameter name="error-code" value="200" />\r
224                 <parameter name="error-message" value="`$error-message`" />\r
225             </return>\r
226         </block>\r
227     </method>\r
228 </service-logic>\r