Add generic-resource-api DG seed code
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-activate.xml
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-activate' mode='sync'>\r
2 <block atomic="true"><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
3         resource="l3-network" \r
4                 key="l3-network.network-id = $network-topology-operation-input.network-information.network-id" \r
5                 local-only="false" \r
6                 pfx="aai.l3-network">\r
7 <outcome value='not-found'>\r
8 <return status='failure'>\r
9         <parameter name="error-code" value="404" />\r
10         <parameter name="error-message" value="network-id not found in AAI" /></return></outcome><outcome value='failure'>\r
11 <return status='failure'>\r
12         <parameter name="error-code" value="500" />\r
13         <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" /></return></outcome></get-resource><switch test='`$aai.l3-network.subnets.subnet_length`'>\r
14 <outcome value=''>\r
15 <return status='failure'>\r
16         <parameter name='ack-final' value='Y'/>\r
17         <parameter name="error-code" value="500" />\r
18     <parameter name="error-message" value="no networks found" />\r
19 </return></outcome><outcome value='Other'>\r
20 <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' >\r
21 <block atomic="true"><get-resource\r
22         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'\r
23         resource='SQL'\r
24         key="SELECT * from EIPAM_IP_SUBNETS where entity_id = $aai.l3-network.subnets.subnet[$sidx].subnet-id ; "\r
25         pfx='tmp.eipam-subnet-row'>\r
26 \r
27 <outcome value='failure'>\r
28 <return status="failure">\r
29         <parameter name="error-code" value="500"/>\r
30         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNETS failed to find subnet matching aai subnet." />\r
31         </return></outcome><outcome value="not-found"><return status="failure">\r
32         <parameter name="error-code" value="500"/>\r
33         <parameter name="error-message" value="Subnet not found in EIPAM_IP_SUBNETS - activate failed." />\r
34         </return></outcome><outcome value='success'>\r
35 <block atomic='true'><set>\r
36         <parameter name="eipam-ip-block.entity-id" value="`$aai.l3-network.subnets.subnet[$sidx].subnet-id`"/>\r
37         <parameter name="eipam-ip-block.plans[0].plan-name" value="`$tmp.eipam-subnet-row.plan-name`"/>\r
38 </set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="activateSubnet">\r
39 <outcome value='failure'><return status="failure">\r
40         <parameter name="error-code" value="500"/>\r
41         <parameter name="error-message" value="An error occured while activating subnet in EIPAM." />\r
42         </return></outcome></execute><save \r
43         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' \r
44         resource='SQL'\r
45         key="UPDATE EIPAM_IP_SUBNETS\r
46              SET status = 'ACTIVE'\r
47              WHERE entity_id = $eipam-ip-block.entity-id ; "\r
48     force='true'\r
49         pfx='pfx.eipam-subnet-row'>\r
50 <outcome value='failure'>\r
51 <return status="failure">\r
52         <parameter name="error-code" value="500"/>\r
53         <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />\r
54         </return></outcome><outcome value="not-found"><return status="failure">\r
55         <parameter name="error-code" value="500"/>\r
56         <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />\r
57         </return></outcome><outcome value='success'>\r
58 <block atomic='true'><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
59         resource="subnet" \r
60                 key="l3-network.network-id = $aai.l3-network.network-id \r
61                         AND subnet.subnet-id = $eipam-ip-block.entity-id" >\r
62 <parameter name="orchestration-status" value="Created" />\r
63                 <outcome value='failure'>\r
64 <return status="failure">\r
65         <parameter name="error-code" value="500"/>\r
66         <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />\r
67         </return></outcome><outcome value="not-found"><return status="failure">\r
68         <parameter name="error-code" value="500"/>\r
69         <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet.  Subnet not found." />\r
70         </return></outcome></update></block></outcome></save></block></outcome></get-resource></block></for></outcome></switch><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
71         resource="l3-network" \r
72                 key="l3-network.network-id = $aai.l3-network.network-id" >\r
73 <parameter name="orchestration-status" value="Active" />        <outcome value='failure'>\r
74 <return status="failure">\r
75         <parameter name="error-code" value="500"/>\r
76         <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network" />\r
77         </return></outcome><outcome value="not-found"><return status="failure">\r
78         <parameter name="error-code" value="500"/>\r
79         <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network.  Network not found." />\r
80         </return></outcome></update><set>\r
81 <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
82 <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
83 </set><set>\r
84 <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\r
85 </set><set>\r
86 <parameter name='network-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
87  + $network-topology-operation-input.service-information.service-instance-id\r
88  + '/service-data/networks/network/'\r
89  + $networkId\r
90  + '/network-data/network-topology/'` " />\r
91  \r
92 </set><set>\r
93 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Created' />\r
94 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\r
95 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\r
96 </set><return status='success'>\r
97 <parameter name="ack-final-indicator" value="Y" />\r
98 <parameter name="error-code" value="200" />\r
99 <parameter name="error-message" value="`$error-message`" />\r
100 </return></block></method></service-logic>