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                         <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
\r 
  11                             <outcome value='Created'>
\r 
  12                                 <return status='failure'>
\r 
  13                                     <parameter name='ack-final' value='Y'/>
\r 
  14                                     <parameter name="error-code" value="500" />
\r 
  15                                     <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
\r 
  18                             <outcome value='PendingDelete'>
\r 
  19                                 <return status='failure'>
\r 
  20                                     <parameter name='ack-final' value='Y'/>
\r 
  21                                     <parameter name="error-code" value="500" />
\r 
  22                                     <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
\r 
  25                             <outcome value='PendingCreate'>
\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="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
\r 
  32                             <outcome value='Other'>
\r 
  33                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' ></call>
\r 
  38                 <outcome value='activate'>
\r 
  39                     <block atomic="true">
\r 
  40                         <switch test='`$service-data.networks.network_length`'>
\r 
  42                                 <return status='failure'>
\r 
  43                                     <parameter name='ack-final' value='Y'/>
\r 
  44                                     <parameter name="error-code" value="500" />
\r 
  45                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
  48                             <outcome value='Other'>
\r 
  49                                 <block atomic="true">
\r 
  50                                     <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r 
  51                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
  52                                             <outcome value='true'>
\r 
  54                                                     <parameter name='tmp.nidx' value='`$nidx`' />
\r 
  55                                                     <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
\r 
  60                                     <switch test="`$tmp.nidx`">
\r 
  62                                             <return status='failure'>
\r 
  63                                                 <parameter name='ack-final' value='Y'/>
\r 
  64                                                 <parameter name="error-code" value="500" />
\r 
  65                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
  68                                         <outcome value='Other'>
\r 
  70                                                 <parameter name='nidx' value='`$tmp.nidx`' />
\r 
  77                         <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>
\r 
  79                                 <return status='success'>
\r 
  80                                     <parameter name='' value='' />
\r 
  83                             <outcome value='Other'>
\r 
  85                                     <switch test='`$service-data.network-instance-groups.network-instance-group_length`'>
\r 
  87                                             <return status='failure'>
\r 
  88                                                 <parameter name='ack-final' value='Y'/>
\r 
  89                                                 <parameter name="error-code" value="500" />
\r 
  90                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data" />
\r 
  93                                         <outcome value='Other'>
\r 
  94                                             <block atomic="true">
\r 
  95                                                 <for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >
\r 
  96                                                     <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
\r 
  97                                                         <outcome value='true'>
\r 
  98                                                             <block atomic="true">
\r 
 100                                                                     <parameter name='tmp.ngidx' value='`$ngidx`' />
\r 
 101                                                                     <parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />
\r 
 113                         <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
\r 
 114                             <outcome value='PendingCreate'>
\r 
 115                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' ></call>
\r 
 117                             <outcome value='Other'>
\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 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 
 127                 <outcome value='changeassign'>
\r 
 128                     <block atomic="true">
\r 
 129                         <switch test='`$service-data.networks.network_length`'>
\r 
 131                                 <return status='failure'>
\r 
 132                                     <parameter name='ack-final' value='Y'/>
\r 
 133                                     <parameter name="error-code" value="500" />
\r 
 134                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 137                             <outcome value='Other'>
\r 
 138                                 <block atomic="true">
\r 
 139                                     <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r 
 140                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
 141                                             <outcome value='true'>
\r 
 143                                                     <parameter name='tmp.nidx' value='`$nidx`' />
\r 
 144                                                     <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
\r 
 149                                     <switch test="`$tmp.nidx`">
\r 
 151                                             <return status='failure'>
\r 
 152                                                 <parameter name='ack-final' value='Y'/>
\r 
 153                                                 <parameter name="error-code" value="500" />
\r 
 154                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 157                                         <outcome value='Other'>
\r 
 159                                                 <parameter name='nidx' value='`$tmp.nidx`' />
\r 
 166                         <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-changeassign' mode='sync' ></call>
\r 
 169                 <outcome value='deactivate'>
\r 
 170                     <block atomic="true">
\r 
 171                         <switch test='`$service-data.networks.network_length`'>
\r 
 173                                 <return status='failure'>
\r 
 174                                     <parameter name='ack-final' value='Y'/>
\r 
 175                                     <parameter name="error-code" value="500" />
\r 
 176                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 179                             <outcome value='Other'>
\r 
 180                                 <block atomic="true">
\r 
 181                                     <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r 
 182                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
 183                                             <outcome value='true'>
\r 
 185                                                     <parameter name='tmp.nidx' value='`$nidx`' />
\r 
 186                                                     <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
\r 
 191                                     <switch test="`$tmp.nidx`">
\r 
 193                                             <return status='failure'>
\r 
 194                                                 <parameter name='ack-final' value='Y'/>
\r 
 195                                                 <parameter name="error-code" value="500" />
\r 
 196                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 199                                         <outcome value='Other'>
\r 
 201                                                 <parameter name='nidx' value='`$tmp.nidx`' />
\r 
 208                         <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>
\r 
 210                                 <return status='success'>
\r 
 211                                     <parameter name='' value='' />
\r 
 214                             <outcome value='Other'>
\r 
 216                                     <switch test='`$service-data.network-instance-groups.network-instance-group_length`'>
\r 
 218                                             <return status='failure'>
\r 
 219                                                 <parameter name='ack-final' value='Y'/>
\r 
 220                                                 <parameter name="error-code" value="500" />
\r 
 221                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data" />
\r 
 224                                         <outcome value='Other'>
\r 
 225                                             <block atomic="true">
\r 
 226                                                 <for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >
\r 
 227                                                     <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
\r 
 228                                                         <outcome value='true'>
\r 
 229                                                             <block atomic="true">
\r 
 231                                                                     <parameter name='tmp.ngidx' value='`$ngidx`' />
\r 
 232                                                                     <parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />
\r 
 244                         <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' ></call>
\r 
 247                 <outcome value='unassign'>
\r 
 248                     <block atomic="true">
\r 
 249                         <switch test='`$service-data.networks.network_length`'>
\r 
 251                                 <return status='failure'>
\r 
 252                                     <parameter name='ack-final' value='Y'/>
\r 
 253                                     <parameter name="error-code" value="500" />
\r 
 254                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 257                             <outcome value='Other'>
\r 
 258                                 <block atomic="true">
\r 
 259                                     <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r 
 260                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
 261                                             <outcome value='true'>
\r 
 263                                                     <parameter name='tmp.nidx' value='`$nidx`' />
\r 
 264                                                     <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
\r 
 269                                     <switch test="`$tmp.nidx`">
\r 
 271                                             <return status='failure'>
\r 
 272                                                 <parameter name='ack-final' value='Y'/>
\r 
 273                                                 <parameter name="error-code" value="500" />
\r 
 274                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 277                                         <outcome value='Other'>
\r 
 279                                                 <parameter name='nidx' value='`$tmp.nidx`' />
\r 
 286                         <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>
\r 
 288                                 <return status='success'>
\r 
 289                                     <parameter name='' value='' />
\r 
 292                             <outcome value='Other'>
\r 
 294                                     <switch test='`$service-data.network-instance-groups.network-instance-group_length`'>
\r 
 296                                             <return status='failure'>
\r 
 297                                                 <parameter name='ack-final' value='Y'/>
\r 
 298                                                 <parameter name="error-code" value="500" />
\r 
 299                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data" />
\r 
 302                                         <outcome value='Other'>
\r 
 303                                             <block atomic="true">
\r 
 304                                                 <for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >
\r 
 305                                                     <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
\r 
 306                                                         <outcome value='true'>
\r 
 307                                                             <block atomic="true">
\r 
 309                                                                     <parameter name='tmp.ngidx' value='`$ngidx`' />
\r 
 310                                                                     <parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />
\r 
 322                         <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
\r 
 323                             <outcome value='PendingCreate'>
\r 
 324                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>
\r 
 326                             <outcome value='PendingDelete'>
\r 
 327                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>
\r 
 329                             <outcome value='Other'>
\r 
 330                                 <return status='failure'>
\r 
 331                                     <parameter name='ack-final' value='Y'/>
\r 
 332                                     <parameter name="error-code" value="500" />
\r 
 333                                     <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 
 339                 <outcome value='Other'>
\r 
 340                     <return status='failure'>
\r 
 341                         <parameter name='ack-final' value='Y'/>
\r 
 342                         <parameter name="error-code" value="500" />
\r 
 343                         <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
\r 
 348                 <parameter name="ack-final" value="Y"/>
\r 
 350             <return status='success'>
\r 
 351                 <parameter name="ack-final-indicator" value="Y" />
\r 
 352                 <parameter name="error-code" value="200" />
\r 
 353                 <parameter name="error-message" value="`$error-message`" />
\r