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="network-topology-operation" mode="sync">
\r 
   4         <block atomic="true">
\r 
   5             <call module="GENERIC-RESOURCE-API" rpc="validate-network-input" mode="sync" />
\r 
   6             <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
\r 
   7                 <outcome value="assign">
\r 
   8                     <block atomic="true">
\r 
   9                         <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-assign" mode="sync" />
\r 
  12                 <outcome value="activate">
\r 
  13                     <switch test="`$network-topology-operation-input.request-information.request-action`">
\r 
  14                         <outcome value="ActivateDCINetworkInstance">
\r 
  15                             <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-activate" mode="sync" />
\r 
  17                         <outcome value="other">
\r 
  18                             <block atomic="true">
\r 
  19                                 <switch test="`$service-data.networks.network_length`">
\r 
  21                                         <return status="failure">
\r 
  22                                             <parameter name="ack-final" value="Y" />
\r 
  23                                             <parameter name="error-code" value="500" />
\r 
  24                                             <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
  27                                     <outcome value="Other">
\r 
  28                                         <block atomic="true">
\r 
  29                                             <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r 
  30                                                 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
  31                                                     <outcome value="true">
\r 
  33                                                             <parameter name="tmp.nidx" value="`$nidx`" />
\r 
  34                                                             <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
\r 
  39                                             <switch test="`$tmp.nidx`">
\r 
  41                                                     <return status="failure">
\r 
  42                                                         <parameter name="ack-final" value="Y" />
\r 
  43                                                         <parameter name="error-code" value="500" />
\r 
  44                                                         <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
  51                                 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r 
  52                                     <outcome value="PendingCreate">
\r 
  53                                         <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-activate" mode="sync" />
\r 
  55                                     <outcome value="Other">
\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 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 
  67                 <outcome value="deactivate">
\r 
  68                     <block atomic="true">
\r 
  69                         <switch test="`$service-data.networks.network_length`">
\r 
  71                                 <return status="failure">
\r 
  72                                     <parameter name="ack-final" value="Y" />
\r 
  73                                     <parameter name="error-code" value="500" />
\r 
  74                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
  77                             <outcome value="Other">
\r 
  78                                 <block atomic="true">
\r 
  79                                     <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r 
  80                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
  81                                             <outcome value="true">
\r 
  83                                                     <parameter name="tmp.nidx" value="`$nidx`" />
\r 
  84                                                     <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
\r 
  89                                     <switch test="`$tmp.nidx`">
\r 
  91                                             <return status="failure">
\r 
  92                                                 <parameter name="ack-final" value="Y" />
\r 
  93                                                 <parameter name="error-code" value="500" />
\r 
  94                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 101                         <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r 
 102                             <outcome value="Created">
\r 
 103                                 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r 
 104                                     <outcome value="DeActivateDCINetworkInstance">
\r 
 105                                         <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-deactivate" mode="sync" />
\r 
 107                                     <outcome value="Other">
\r 
 108                                         <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-deactivate" mode="sync" />
\r 
 112                             <outcome value="Other">
\r 
 113                                 <return status="failure">
\r 
 114                                     <parameter name="ack-final" value="Y" />
\r 
 115                                     <parameter name="error-code" value="500" />
\r 
 116                                     <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
\r 
 122                 <outcome value="unassign">
\r 
 123                     <block atomic="true">
\r 
 124                         <switch test="`$service-data.networks.network_length`">
\r 
 126                                 <return status="failure">
\r 
 127                                     <parameter name="ack-final" value="Y" />
\r 
 128                                     <parameter name="error-code" value="500" />
\r 
 129                                     <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 132                             <outcome value="Other">
\r 
 133                                 <block atomic="true">
\r 
 134                                     <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r 
 135                                         <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r 
 136                                             <outcome value="true">
\r 
 138                                                     <parameter name="tmp.nidx" value="`$nidx`" />
\r 
 139                                                     <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
\r 
 144                                     <switch test="`$tmp.nidx`">
\r 
 146                                             <return status="failure">
\r 
 147                                                 <parameter name="ack-final" value="Y" />
\r 
 148                                                 <parameter name="error-code" value="500" />
\r 
 149                                                 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r 
 156                         <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r 
 157                             <outcome value="PendingCreate">
\r 
 158                                 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />
\r 
 160                             <outcome value="PendingDelete">
\r 
 161                                 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />
\r 
 163                             <outcome value="Other">
\r 
 164                                 <return status="failure">
\r 
 165                                     <parameter name="ack-final" value="Y" />
\r 
 166                                     <parameter name="error-code" value="500" />
\r 
 167                                     <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 
 173                 <outcome value="Other">
\r 
 174                     <return status="failure">
\r 
 175                         <parameter name="ack-final" value="Y" />
\r 
 176                         <parameter name="error-code" value="500" />
\r 
 177                         <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
\r 
 180                 <outcome value="create">
\r 
 181                     <block atomic="true">
\r 
 182                         <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-create" mode="sync" />
\r 
 185                 <outcome value="delete">
\r 
 186                     <block atomic="true">
\r 
 187                         <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-delete" mode="sync" />
\r 
 192                 <parameter name="ack-final" value="Y" />
\r 
 194             <return status="success">
\r 
 195                 <parameter name="ack-final-indicator" value="Y" />
\r 
 196                 <parameter name="error-code" value="200" />
\r 
 197                 <parameter name="error-message" value="`$error-message`" />
\r