1 <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}'><method rpc='network-topology-operation' mode='sync'>
\r
2 <block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' >
\r
3 </call><switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
\r
4 <outcome value='assign'>
\r
5 <block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' >
\r
6 </call></block></outcome><outcome value='activate'>
\r
7 <block atomic="true"><switch test='`$service-data.networks.network_length`'>
\r
9 <return status='failure'>
\r
10 <parameter name='ack-final' value='Y'/>
\r
11 <parameter name="error-code" value="500" />
\r
12 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
13 </return></outcome><outcome value='Other'>
\r
14 <block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r
15 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
17 <outcome value='true'>
\r
19 <parameter name='tmp.nidx' value='`$nidx`' />
\r
20 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
\r
21 </set></outcome></switch></for><switch test="`$tmp.nidx`">
\r
24 <return status='failure'>
\r
25 <parameter name='ack-final' value='Y'/>
\r
26 <parameter name="error-code" value="500" />
\r
27 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
28 </return></outcome></switch></block></outcome></switch><switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
\r
29 <outcome value='PendingCreate'>
\r
30 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' >
\r
31 </call></outcome><outcome value='Other'>
\r
32 <return status='failure'>
\r
33 <parameter name='ack-final' value='Y'/>
\r
34 <parameter name="error-code" value="500" />
\r
35 <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`" /></return></outcome></switch></block></outcome><outcome value='deactivate'>
\r
36 <block atomic="true"><switch test='`$service-data.networks.network_length`'>
\r
38 <return status='failure'>
\r
39 <parameter name='ack-final' value='Y'/>
\r
40 <parameter name="error-code" value="500" />
\r
41 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
42 </return></outcome><outcome value='Other'>
\r
43 <block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r
44 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
46 <outcome value='true'>
\r
48 <parameter name='tmp.nidx' value='`$nidx`' />
\r
49 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
\r
50 </set></outcome></switch></for><switch test="`$tmp.nidx`">
\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="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
57 </return></outcome></switch></block></outcome></switch><switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
\r
58 <outcome value='Created'>
\r
59 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' >
\r
60 </call></outcome><outcome value='Other'>
\r
61 <return status='failure'>
\r
62 <parameter name='ack-final' value='Y'/>
\r
63 <parameter name="error-code" value="500" />
\r
64 <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`" /></return></outcome></switch></block></outcome><outcome value='unassign'>
\r
65 <block atomic="true"><switch test='`$service-data.networks.network_length`'>
\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-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
71 </return></outcome><outcome value='Other'>
\r
72 <block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >
\r
73 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
75 <outcome value='true'>
\r
77 <parameter name='tmp.nidx' value='`$nidx`' />
\r
78 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
\r
79 </set></outcome></switch></for><switch test="`$tmp.nidx`">
\r
82 <return status='failure'>
\r
83 <parameter name='ack-final' value='Y'/>
\r
84 <parameter name="error-code" value="500" />
\r
85 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
86 </return></outcome></switch></block></outcome></switch><switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
\r
87 <outcome value='PendingCreate'>
\r
88 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >
\r
89 </call></outcome><outcome value='PendingDelete'>
\r
90 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >
\r
91 </call></outcome><outcome value='Other'>
\r
92 <return status='failure'>
\r
93 <parameter name='ack-final' value='Y'/>
\r
94 <parameter name="error-code" value="500" />
\r
95 <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`" /></return></outcome></switch></block></outcome><outcome value='Other'>
\r
96 <return status='failure'>
\r
97 <parameter name='ack-final' value='Y'/>
\r
98 <parameter name="error-code" value="500" />
\r
99 <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
\r
100 </return></outcome></switch><set>
\r
101 <parameter name="ack-final" value="Y"/></set><return status='success'>
\r
102 <parameter name="ack-final-indicator" value="Y" />
\r
103 <parameter name="error-code" value="200" />
\r
104 <parameter name="error-message" value="`$error-message`" />
\r
105 </return></block></method></service-logic>