1 <?xml version="1.0" encoding="UTF-8"?>
\r 
   2 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" 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 
   3     <method rpc="validate-network-input-parameters" mode="sync">
\r 
   4         <block atomic="true">
\r 
   5             <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
\r 
   7                     <return status="failure">
\r 
   8                         <parameter name="ack-final" value="Y" />
\r 
   9                         <parameter name="error-code" value="500" />
\r 
  10                         <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
\r 
  14             <switch test="`$service-topology-operation-input.sdnc-request-header.svc-action`">
\r 
  15                 <outcome value="create">
\r 
  16                     <block atomic="true">
\r 
  17                         <switch test="`$network-topology-operation-input.request-information.request-action`">
\r 
  18                             <outcome value="CreateNetworkInstance">
\r 
  19                                 <block atomic="true">
\r 
  20                                     <for index="i" start="0" end="`$network-topology-information.network-request-input.network-input-parameters.param_length`">
\r 
  23                                                 <parameter name="tmp.name" value="" />
\r 
  24                                                 <parameter name="tmp.value" value="" />
\r 
  27                                                 <parameter name="tmp.name" value="'$network-topology-operation-input.network-request-input.network-input-parameters.param[i].name'" />
\r 
  28                                                 <parameter name="tmp.value" value="'$network-topology-operation-input.network-request-input.network-input-parameters.param[i].value'" />
\r 
  30                                             <switch test="'$tmp.name'">
\r 
  31                                                 <outcome value="name">
\r 
  32                                                     <switch test="`$tmp.value`">
\r 
  34                                                             <return status="failure">
\r 
  35                                                                 <parameter name="ack-final" value="Y" />
\r 
  36                                                                 <parameter name="error-code" value="500" />
\r 
  37                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
  42                                                 <outcome value="service-type">
\r 
  43                                                     <switch test="`$tmp.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-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
  53                                                 <outcome value="site1-name">
\r 
  54                                                     <switch test="`$tmp.value`">
\r 
  56                                                             <return status="failure">
\r 
  57                                                                 <parameter name="ack-final" value="Y" />
\r 
  58                                                                 <parameter name="error-code" value="500" />
\r 
  59                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
  64                                                 <outcome value="site2-name">
\r 
  65                                                     <switch test="`$tmp.value`">
\r 
  67                                                             <return status="failure">
\r 
  68                                                                 <parameter name="ack-final" value="Y" />
\r 
  69                                                                 <parameter name="error-code" value="500" />
\r 
  70                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
  75                                                 <outcome value="sna1_name">
\r 
  76                                                     <switch test="`$tmp.value`">
\r 
  78                                                             <return status="failure">
\r 
  79                                                                 <parameter name="ack-final" value="Y" />
\r 
  80                                                                 <parameter name="error-code" value="500" />
\r 
  81                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
  86                                                 <outcome value="sna2_name">
\r 
  87                                                     <switch test="`$tmp.value`">
\r 
  89                                                             <return status="failure">
\r 
  90                                                                 <parameter name="ack-final" value="Y" />
\r 
  91                                                                 <parameter name="error-code" value="500" />
\r 
  92                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
  97                                                 <outcome value="pe1_id">
\r 
  98                                                     <switch test="`$tmp.value`">
\r 
 100                                                             <return status="failure">
\r 
 101                                                                 <parameter name="ack-final" value="Y" />
\r 
 102                                                                 <parameter name="error-code" value="500" />
\r 
 103                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 108                                                 <outcome value="pe2_id">
\r 
 109                                                     <switch test="`$tmp.value`">
\r 
 111                                                             <return status="failure">
\r 
 112                                                                 <parameter name="ack-final" value="Y" />
\r 
 113                                                                 <parameter name="error-code" value="500" />
\r 
 114                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 119                                                 <outcome value="ac1-id">
\r 
 120                                                     <switch test="`$tmp.value`">
\r 
 122                                                             <return status="failure">
\r 
 123                                                                 <parameter name="ack-final" value="Y" />
\r 
 124                                                                 <parameter name="error-code" value="500" />
\r 
 125                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 130                                                 <outcome value="ac2-id">
\r 
 131                                                     <switch test="`$tmp.value`">
\r 
 133                                                             <return status="failure">
\r 
 134                                                                 <parameter name="ack-final" value="Y" />
\r 
 135                                                                 <parameter name="error-code" value="500" />
\r 
 136                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 141                                                 <outcome value="ac1-ip">
\r 
 142                                                     <switch test="`$tmp.value`">
\r 
 144                                                             <return status="failure">
\r 
 145                                                                 <parameter name="ack-final" value="Y" />
\r 
 146                                                                 <parameter name="error-code" value="500" />
\r 
 147                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 152                                                 <outcome value="ac2-ip">
\r 
 153                                                     <switch test="`$tmp.value`">
\r 
 155                                                             <return status="failure">
\r 
 156                                                                 <parameter name="ack-final" value="Y" />
\r 
 157                                                                 <parameter name="error-code" value="500" />
\r 
 158                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 163                                                 <outcome value="ac1_peer_ip">
\r 
 164                                                     <switch test="`$tmp.value`">
\r 
 166                                                             <return status="failure">
\r 
 167                                                                 <parameter name="ack-final" value="Y" />
\r 
 168                                                                 <parameter name="error-code" value="500" />
\r 
 169                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 174                                                 <outcome value="ac2_peer_ip">
\r 
 175                                                     <switch test="`$tmp.value`">
\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-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 185                                                 <outcome value="ac1_svlan">
\r 
 186                                                     <switch test="`$tmp.value`">
\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="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 196                                                 <outcome value="ac2_svlan">
\r 
 197                                                     <switch test="`$tmp.value`">
\r 
 199                                                             <return status="failure">
\r 
 200                                                                 <parameter name="ack-final" value="Y" />
\r 
 201                                                                 <parameter name="error-code" value="500" />
\r 
 202                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'" />
\r 
 208                                                     <return status="failure">
\r 
 209                                                         <parameter name="ack-final" value="Y" />
\r 
 210                                                         <parameter name="error-code" value="500" />
\r 
 211                                                         <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
\r 
 219                             <outcome value="Other">
\r 
 220                                 <return status="failure">
\r 
 221                                     <parameter name="ack-final" value="Y" />
\r 
 222                                     <parameter name="error-code" value="500" />
\r 
 223                                     <parameter name="error-message" value="request-information.request-action is required to be CreateNetworkInstance for svc-action=create" />
\r 
 229                 <outcome value="activate">
\r 
 230                     <switch test="`$network-topology-operation-input.request-information.request-action`">
\r 
 231                         <outcome value="ActivateNetworkInstance">
\r 
 232                             <block atomic="true">
\r 
 233                                 <call module="GENERIC-RESOURCE-API" rpc="validate-overlay-network-input-parameters" mode="sync" />
\r 
 236                         <outcome value="Other">
\r 
 237                             <return status="failure">
\r 
 238                                 <parameter name="ack-final" value="Y" />
\r 
 239                                 <parameter name="error-code" value="500" />
\r 
 240                                 <parameter name="error-message" value="request-information.request-action is required to be ActivateNetworkInstance for svc-action=activate" />
\r 
 245                 <outcome value="deactivate">
\r 
 246                     <block atomic="true">
\r 
 247                         <outcome value="DeactivateNetworkInstance">
\r 
 248                             <block atomic="true">
\r 
 249                                 <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
\r 
 251                                         <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].id == 'id'`">
\r 
 252                                             <outcome value="true">
\r 
 253                                                 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`">
\r 
 255                                                         <return status="failure">
\r 
 256                                                             <parameter name="ack-final" value="Y" />
\r 
 257                                                             <parameter name="error-code" value="500" />
\r 
 258                                                             <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
\r 
 268                         <outcome value="Other">
\r 
 269                             <return status="failure">
\r 
 270                                 <parameter name="ack-final" value="Y" />
\r 
 271                                 <parameter name="error-code" value="500" />
\r 
 272                                 <parameter name="error-message" value="request-information.request-action is required to be DeactivateNetworkInstance for svc-action=deactivate" />
\r 
 277                 <outcome value="Other">
\r 
 278                     <return status="failure">
\r 
 279                         <parameter name="ack-final" value="Y" />
\r 
 280                         <parameter name="error-code" value="500" />
\r 
 281                         <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
\r 
 284                 <outcome value="delete">
\r 
 285                     <block atomic="true">
\r 
 286                         <outcome value="DeleteNetworkInstance">
\r 
 287                             <block atomic="true">
\r 
 288                                 <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
\r 
 290                                         <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
\r 
 291                                             <outcome value="true">
\r 
 292                                                 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`">
\r 
 294                                                         <return status="failure">
\r 
 295                                                             <parameter name="ack-final" value="Y" />
\r 
 296                                                             <parameter name="error-code" value="500" />
\r 
 297                                                             <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
\r 
 307                         <outcome value="Other">
\r 
 308                             <return status="failure">
\r 
 309                                 <parameter name="ack-final" value="Y" />
\r 
 310                                 <parameter name="error-code" value="500" />
\r 
 311                                 <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
\r