Merge "Add initial DG changes for underlay"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-create.xml
1 <service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='network-topology-operation-create' mode='sync'>\r
2 <block atomic="true">\r
3 <call module='GENERIC-RESOURCE-API' rpc='validate-network-input-parameters' mode='sync' >\r
4 </call><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
5                 resource="esr-thirdparty-sdnc" \r
6                 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND \r
7                      depth = '1'"\r
8         pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
9 \r
10 <outcome value='success'>\r
11 <block atomic="true"></block></outcome><outcome value='not-found'>\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 model is_bound_to_vpn=true but no vpn_binding is present" />\r
16 \r
17 </return></outcome><outcome value='Other'>\r
18 <return status='failure'>\r
19         <parameter name='ack-final' value='Y'/>\r
20         <parameter name="error-code" value="500" />\r
21     <parameter name="error-message" value="Unexpected error retrieving vpn binding" />\r
22 \r
23 </return></outcome></get-resource><set>\r
24 <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />\r
25 <parameter name='prop.sdncRestApi.templateDir' value='/opt/onap/sdnc/data' />\r
26 <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />\r
27 <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />\r
28 </set><for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >\r
29 <block>\r
30 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">\r
31 <outcome value='true'>\r
32 <set>\r
33 <parameter name='prop.l3vpn.name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
34 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'service-type'`">\r
35 <outcome value='true'>\r
36 <set>\r
37 <parameter name='prop.l3vpn.service-type' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
38 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'topology'`">\r
39 <outcome value='true'>\r
40 <set>\r
41 <parameter name='prop.l3vpn.topology' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
42 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'technology'`">\r
43 <outcome value='true'>\r
44 <set>\r
45 <parameter name='prop.l3vpn.technology' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
46 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_name'`">\r
47 <outcome value='true'>\r
48 <set>\r
49 <parameter name='prop.l3vpn.site1_name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
50 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_name'`">\r
51 <outcome value='true'>\r
52 <set>\r
53 <parameter name='prop.l3vpn.site2_name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
54 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'sna1_name'`">\r
55 <outcome value='true'>\r
56 <set>\r
57 <parameter name='prop.l3vpn.sna1_name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
58 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'sna2_name'`">\r
59 <outcome value='true'>\r
60 <set>\r
61 <parameter name='prop.l3vpn.sna2_name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
62 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'pe1_id'`">\r
63 <outcome value='true'>\r
64 <set>\r
65 <parameter name='prop.l3vpn.pe1_id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
66 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'pe2_id'`">\r
67 <outcome value='true'>\r
68 <set>\r
69 <parameter name='prop.l3vpn.pe2_id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
70 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_id'`">\r
71 <outcome value='true'>\r
72 <set>\r
73 <parameter name='prop.l3vpn.ac1_id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
74 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_id'`">\r
75 <outcome value='true'>\r
76 <set>\r
77 <parameter name='prop.l3vpn.ac2_id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
78 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_ip'`">\r
79 <outcome value='true'>\r
80 <set>\r
81 <parameter name='prop.l3vpn.ac1_ip' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
82 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_ip'`">\r
83 <outcome value='true'>\r
84 <set>\r
85 <parameter name='prop.l3vpn.ac2_ip' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
86 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_peer_ip'`">\r
87 <outcome value='true'>\r
88 <set>\r
89 <parameter name='prop.l3vpn.ac1_peer_ip' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
90 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_peer_ip'`">\r
91 <outcome value='true'>\r
92 <set>\r
93 <parameter name='prop.l3vpn.ac2_peer_ip' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
94 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_svlan'`">\r
95 <outcome value='true'>\r
96 <set>\r
97 <parameter name='prop.l3vpn.ac1_svlan' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
98 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_svlan'`">\r
99 <outcome value='true'>\r
100 <set>\r
101 <parameter name='prop.l3vpn.ac2_svlan' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
102 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_protocol'`">\r
103 <outcome value='true'>\r
104 <set>\r
105 <parameter name='prop.l3vpn.ac1_protocol' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
106 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_protocol'`">\r
107 <outcome value='true'>\r
108 <set>\r
109 <parameter name='prop.l3vpn.name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
110 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_protocol_bgp_as'`">\r
111 <outcome value='true'>\r
112 <set>\r
113 <parameter name='prop.l3vpn.ac1_protocol_bgp_as' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
114 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_protocol_bgp_as'`">\r
115 <outcome value='true'>\r
116 <set>\r
117 <parameter name='prop.l3vpn.ac1_protocol_bgp_as' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
118 </set></outcome></switch><switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'af_type'`">\r
119 <outcome value='true'>\r
120 <set>\r
121 <parameter name='prop.l3vpn.af_type' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
122 </set></outcome></switch></block></for><execute plugin='com.att.sdnctl.sli.SliPluginUtils.SliPluginUtils' method='generateUUID' >\r
123 <parameter name="ctx-destination" value="prop.l3vpn.vpn-policy-id"/>\r
124 <outcome value='failure'>\r
125 <return status='failure'>\r
126 <parameter name='error-code' value='' />\r
127 <parameter name='error-message' value="An error occured while generation vpn policy ID" />\r
128 </return></outcome></execute><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
129 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smvpntemplate.json'"/>\r
130 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'"/>\r
131 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user"/>\r
132 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password"/>\r
133 <parameter name="format" value="json"/>\r
134 <parameter name="httpMethod" value="post"/>\r
135 <parameter name="responsePrefix" value="restapi-result"/></execute><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
136 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smsitetemplate.json'"/>\r
137 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites'"/>\r
138 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user"/>\r
139 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password"/>\r
140 <parameter name="format" value="json"/>\r
141 <parameter name="httpMethod" value="post"/>\r
142 <parameter name="responsePrefix" value="restapi-result"/></execute></block></method></service-logic>