Adding connectivity attachment Resource DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
new file mode 100644 (file)
index 0000000..98762e9
--- /dev/null
@@ -0,0 +1,236 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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
+   <method rpc='validate-connection-attachment-input' mode='sync'>\r
+      <block atomic="true">\r
+         <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\r
+            <outcome value=''>\r
+               <return status='failure'>\r
+                  <parameter name='ack-final' value='Y'/>\r
+                  <parameter name="error-code" value="500" />\r
+                  <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />\r
+               </return>\r
+            </outcome>\r
+         </switch>\r
+         <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>\r
+            <outcome value=''>\r
+               <return status='failure'>\r
+                  <parameter name='ack-final' value='Y'/>\r
+                  <parameter name="error-code" value="500" />\r
+                  <parameter name="error-message" value="service-information.service-instance-id is a required input" />\r
+               </return>\r
+            </outcome>\r
+         </switch>\r
+         <switch test='`$connection-attachment-topology-operation-input.service-information.parent-service-instance-id`'>\r
+            <outcome value=''>\r
+               <return status='failure'>\r
+                  <parameter name='ack-final' value='Y'/>\r
+                  <parameter name="error-code" value="500" />\r
+                  <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" />\r
+               </return>\r
+            </outcome>\r
+         </switch>\r
+         <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\r
+            <outcome value='create'>\r
+               <block atomic="true">\r
+                  <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
+                     <outcome value='CreateSOTNAttachmentInstance'>\r
+                        <block atomic="true">\r
+                           <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">\r
+                              <block>\r
+                                 <set>\r
+                                    <parameter name='tmp.name' value='' />\r
+                                    <parameter name='tmp.value' value='' />\r
+                                 </set>\r
+                                 <set>\r
+                                    <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>\r
+                                    <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>\r
+                                 </set>\r
+                                 <switch test="`$tmp.name`">\r
+                                    <outcome value='sotnVpnName'>\r
+                                       <switch test="`$tmp.value`">\r
+                                          <outcome value=''>\r
+                                             <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                             </return>\r
+                                          </outcome>\r
+                                       </switch>\r
+                                    </outcome>\r
+                                    <outcome value='clientSignal'>\r
+                                       <switch test="`$tmp.value`">\r
+                                          <outcome value=''>\r
+                                             <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                             </return>\r
+                                          </outcome>\r
+                                       </switch>\r
+                                    </outcome>\r
+                                    <outcome value='access-provider-id'>\r
+                                       <switch test="`$tmp.value`">\r
+                                          <outcome value=''>\r
+                                             <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                             </return>\r
+                                          </outcome>\r
+                                       </switch>\r
+                                    </outcome>\r
+                                    <outcome value='access-client-id'>\r
+                                       <switch test="`$tmp.value`">\r
+                                          <outcome value=''>\r
+                                             <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                             </return>\r
+                                          </outcome>\r
+                                       </switch>\r
+                                    </outcome>\r
+                                    <outcome value='access-topology-id'></outcome>\r
+                                    <outcome value='access-node-id'>\r
+                                       <switch test="`$tmp.value`">\r
+                                          <outcome value=''>\r
+                                             <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                             </return>\r
+                                          </outcome>\r
+                                       </switch>\r
+                                    </outcome>\r
+                                    <outcome value='cVLAN'>\r
+                                       <switch test="`$tmp.value`">\r
+                                          <outcome value=''>\r
+                                             <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                             </return>\r
+                                          </outcome>\r
+                                       </switch>\r
+                                    </outcome>\r
+                                    <outcome value=''>\r
+                                       <return status='failure'>\r
+                                          <parameter name='ack-final' value='Y'/>\r
+                                          <parameter name="error-code" value="500" />\r
+                                          <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />\r
+                                       </return>\r
+                                    </outcome>\r
+                                 </switch>\r
+                              </block>\r
+                           </for>\r
+                        </block>\r
+                     </outcome>\r
+                     <outcome value='other'>\r
+                        <return status='failure'>\r
+                           <parameter name='ack-final' value='Y'/>\r
+                           <parameter name="error-code" value="500" />\r
+                           <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />\r
+                        </return>\r
+                     </outcome>\r
+                  </switch>\r
+               </block>\r
+            </outcome>\r
+            <outcome value='activate'>\r
+               <block atomic="true">\r
+                  <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
+                     <outcome value='ActivateSOTNAttachmentInstance'>\r
+                        <block atomic="true">\r
+                           <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                              <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
+                           </execute>\r
+                           <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                              <outcome value=''>\r
+                                 <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                 </return>\r
+                              </outcome>\r
+                           </switch>\r
+                        </block>\r
+                     </outcome>\r
+                     <outcome value='other'>\r
+                        <return status='failure'>\r
+                           <parameter name='ack-final' value='Y'/>\r
+                           <parameter name="error-code" value="500" />\r
+                           <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />\r
+                        </return>\r
+                     </outcome>\r
+                  </switch>\r
+               </block>\r
+            </outcome>\r
+            <outcome value='deactivate'>\r
+               <block atomic="true">\r
+                  <switch test='`$sotn-topology-operation-input.request-information.request-action`'>\r
+                     <outcome value='DeactivateSOTNAttachmentInstance'>\r
+                        <block atomic="true">\r
+                           <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                              <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
+                           </execute>\r
+                           <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                              <outcome value=''>\r
+                                 <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                 </return>\r
+                              </outcome>\r
+                           </switch>\r
+                        </block>\r
+                     </outcome>\r
+                     <outcome value='Other'>\r
+                        <return status='failure'>\r
+                           <parameter name='ack-final' value='Y'/>\r
+                           <parameter name="error-code" value="500" />\r
+                           <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />\r
+                        </return>\r
+                     </outcome>\r
+                  </switch>\r
+               </block>\r
+            </outcome>\r
+            <outcome value='delete'>\r
+               <block atomic="true">\r
+                  <switch test='`$sotn-topology-operation-input.request-information.request-action`'>\r
+                     <outcome value='DeleteSOTNAttachmentInstance'>\r
+                        <block atomic="true">\r
+                           <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                              <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
+                           </execute>\r
+                           <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                              <outcome value=''>\r
+                                 <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                 </return>\r
+                              </outcome>\r
+                           </switch>\r
+                        </block>\r
+                     </outcome>\r
+                     <outcome value='Other'>\r
+                        <return status='failure'>\r
+                           <parameter name='ack-final' value='Y'/>\r
+                           <parameter name="error-code" value="500" />\r
+                           <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />\r
+                        </return>\r
+                     </outcome>\r
+                  </switch>\r
+               </block>\r
+            </outcome>\r
+            <outcome value='Other'>\r
+               <return status='failure'>\r
+                  <parameter name='ack-final' value='Y'/>\r
+                  <parameter name="error-code" value="500" />\r
+                  <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />\r
+               </return>\r
+            </outcome>\r
+         </switch>\r
+      </block>\r
+   </method>\r
+</service-logic>
\ No newline at end of file