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