Merge "connectivity attachment issue fix"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
1 <service-logic
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='validate-connection-attachment-input' mode='sync'>
5         <block atomic="true">
6             <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
7                 <outcome value=''>
8                     <return status='failure'>
9                         <parameter name='ack-final' value='Y'/>
10                         <parameter name="error-code" value="500" />
11                         <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
12                     </return>
13                 </outcome>
14             </switch>
15             <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>
16                 <outcome value=''>
17                     <return status='failure'>
18                         <parameter name='ack-final' value='Y'/>
19                         <parameter name="error-code" value="500" />
20                         <parameter name="error-message" value="service-information.service-instance-id is a required input" />
21                     </return>
22                 </outcome>
23             </switch>
24             <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
25                 <outcome value=''>
26                     <return status='failure'>
27                         <parameter name='ack-final' value='Y'/>
28                         <parameter name="error-code" value="500" />
29                         <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" />
30                     </return>
31                 </outcome>
32             </switch>
33             <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
34                 <outcome value='create'>
35                     <block atomic="true">
36                         <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
37                             <outcome value='CreateSOTNAttachmentInstance'>
38                                 <block atomic="true">
39                                     <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">
40                                         <block>
41                                             <set>
42                                                 <parameter name='tmp.name' value='' />
43                                                 <parameter name='tmp.value' value='' />
44                                             </set>
45                                             <set>
46                                                 <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>
47                                                 <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>
48                                             </set>
49                                             <switch test="`$tmp.name`">
50                                                 <outcome value='sotnVpnName'>
51                                                     <switch test="`$tmp.value`">
52                                                         <outcome value=''>
53                                                             <return status='failure'>
54                                                                 <parameter name='ack-final' value='Y'/>
55                                                                 <parameter name="error-code" value="500" />
56                                                                 <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
57                                                             </return>
58                                                         </outcome>
59                                                     </switch>
60                                                 </outcome>
61                                                 <outcome value='clientSignal'>
62                                                     <switch test="`$tmp.value`">
63                                                         <outcome value=''>
64                                                             <return status='failure'>
65                                                                 <parameter name='ack-final' value='Y'/>
66                                                                 <parameter name="error-code" value="500" />
67                                                                 <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
68                                                             </return>
69                                                         </outcome>
70                                                     </switch>
71                                                 </outcome>
72                                                 <outcome value='access-provider-id'>
73                                                     <switch test="`$tmp.value`">
74                                                         <outcome value=''>
75                                                             <return status='failure'>
76                                                                 <parameter name='ack-final' value='Y'/>
77                                                                 <parameter name="error-code" value="500" />
78                                                                 <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
79                                                             </return>
80                                                         </outcome>
81                                                     </switch>
82                                                 </outcome>
83                                                 <outcome value='access-client-id'>
84                                                     <switch test="`$tmp.value`">
85                                                         <outcome value=''>
86                                                             <return status='failure'>
87                                                                 <parameter name='ack-final' value='Y'/>
88                                                                 <parameter name="error-code" value="500" />
89                                                                 <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
90                                                             </return>
91                                                         </outcome>
92                                                     </switch>
93                                                 </outcome>
94                                                 <outcome value='access-topology-id'></outcome>
95                                                 <outcome value='access-node-id'>
96                                                     <switch test="`$tmp.value`">
97                                                         <outcome value=''>
98                                                             <return status='failure'>
99                                                                 <parameter name='ack-final' value='Y'/>
100                                                                 <parameter name="error-code" value="500" />
101                                                                 <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
102                                                             </return>
103                                                         </outcome>
104                                                     </switch>
105                                                 </outcome>
106                                                 <outcome value='cVLAN'>
107                                                     <switch test="`$tmp.value`">
108                                                         <outcome value=''>
109                                                             <return status='failure'>
110                                                                 <parameter name='ack-final' value='Y'/>
111                                                                 <parameter name="error-code" value="500" />
112                                                                 <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
113                                                             </return>
114                                                         </outcome>
115                                                     </switch>
116                                                 </outcome>
117                                                 <outcome value=''>
118                                                     <return status='failure'>
119                                                         <parameter name='ack-final' value='Y'/>
120                                                         <parameter name="error-code" value="500" />
121                                                         <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
122                                                     </return>
123                                                 </outcome>
124                                             </switch>
125                                         </block>
126                                     </for>
127                                 </block>
128                             </outcome>
129                             <outcome value='other'>
130                                 <return status='failure'>
131                                     <parameter name='ack-final' value='Y'/>
132                                     <parameter name="error-code" value="500" />
133                                     <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
134                                 </return>
135                             </outcome>
136                         </switch>
137                     </block>
138                 </outcome>
139                 <outcome value='activate'>
140                     <block atomic="true">
141                         <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
142                             <outcome value='ActivateSOTNAttachmentInstance'>
143                                 <block atomic="true">
144                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
145                                         <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
146                                     </execute>
147                                     <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
148                                         <outcome value=''>
149                                             <return status='failure'>
150                                                 <parameter name='ack-final' value='Y'/>
151                                                 <parameter name="error-code" value="500" />
152                                                 <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
153                                             </return>
154                                         </outcome>
155                                     </switch>
156                                 </block>
157                             </outcome>
158                             <outcome value='other'>
159                                 <return status='failure'>
160                                     <parameter name='ack-final' value='Y'/>
161                                     <parameter name="error-code" value="500" />
162                                     <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
163                                 </return>
164                             </outcome>
165                         </switch>
166                     </block>
167                 </outcome>
168                 <outcome value='deactivate'>
169                     <block atomic="true">
170                         <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
171                             <outcome value='DeactivateSOTNAttachmentInstance'>
172                                 <block atomic="true">
173                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
174                                         <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
175                                     </execute>
176                                     <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
177                                         <outcome value=''>
178                                             <return status='failure'>
179                                                 <parameter name='ack-final' value='Y'/>
180                                                 <parameter name="error-code" value="500" />
181                                                 <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
182                                             </return>
183                                         </outcome>
184                                     </switch>
185                                 </block>
186                             </outcome>
187                             <outcome value='Other'>
188                                 <return status='failure'>
189                                     <parameter name='ack-final' value='Y'/>
190                                     <parameter name="error-code" value="500" />
191                                     <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
192                                 </return>
193                             </outcome>
194                         </switch>
195                     </block>
196                 </outcome>
197                 <outcome value='delete'>
198                     <block atomic="true">
199                         <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
200                             <outcome value='DeleteSOTNAttachmentInstance'>
201                                 <block atomic="true">
202                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
203                                         <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
204                                     </execute>
205                                     <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
206                                         <outcome value=''>
207                                             <return status='failure'>
208                                                 <parameter name='ack-final' value='Y'/>
209                                                 <parameter name="error-code" value="500" />
210                                                 <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
211                                             </return>
212                                         </outcome>
213                                     </switch>
214                                 </block>
215                             </outcome>
216                             <outcome value='Other'>
217                                 <return status='failure'>
218                                     <parameter name='ack-final' value='Y'/>
219                                     <parameter name="error-code" value="500" />
220                                     <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
221                                 </return>
222                             </outcome>
223                         </switch>
224                     </block>
225                 </outcome>
226                 <outcome value='Other'>
227                     <return status='failure'>
228                         <parameter name='ack-final' value='Y'/>
229                         <parameter name="error-code" value="500" />
230                         <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
231                     </return>
232                 </outcome>
233             </switch>
234         </block>
235     </method>
236 </service-logic>