Merge "GENERIC-RESOURCE-API template fixes"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-create.xml
index 2b280fc..d8c4a96 100644 (file)
                     <return status="failure">\r
                         <parameter name="ack-final" value="Y" />\r
                         <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
+                        <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
                     </return>\r
                 </outcome>\r
                 <outcome value="Other">\r
                     <return status="failure">\r
                         <parameter name="ack-final" value="Y" />\r
                         <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
+                        <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
                     </return>\r
                 </outcome>\r
             </get-resource>\r
                     </set>\r
                 </outcome>\r
             </switch>\r
-            <set>\r
-                <parameter name="service-data.networks.network[$nidx].network-id" value="`$prop.l3vpn.network-id`" />\r
-                <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />\r
-                <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />\r
-                <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />\r
-                <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />\r
-                <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value="`$network-topology-operation-input.network-request-input.`" />\r
-                <parameter name="service-data.networks.network_length" value="`$nidx+1`" />\r
-            </set>\r
             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
                 <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />\r
                 <parameter name="Time" value="__TIMESTAMP__" />\r
                 <parameter name="vrf2-id" value="`$prop.l3vpn.vrf2-id`" />\r
                 <parameter name="af_type" value="`$prop.l3vpn.af_type`" />\r
             </record>\r
-            <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'service-type'`">\r
+            <switch test="`$prop.l3vpn.service-type`">\r
                 <outcome value="l3vpn-ipwan">\r
                     <block atomic="true">\r
                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
-                            <parameter name="templateFileName" value="`$prop.sdncRestApi.tempDir + '/l3smvpntemplate.json'`" />\r
+                            <parameter name="templateFileName" value="`$prop.sdncRestApi.templateDir + '/actokentemplate.json'`" />\r
+                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
+                            <parameter name="format" value="json" />\r
+                            <parameter name="httpMethod" value="post" />\r
+                            <parameter name="responsePrefix" value="token-result" />\r
+                            <outcome value="success">\r
+                                <set>\r
+                                    <parameter name="prop.sdncRestApi.token_id" value="$token-result.token_id" />\r
+                                </set>\r
+                            </outcome>\r
+                            <outcome value="failure">\r
+                                <return status="failure">\r
+                                    <parameter name="ack-final" value="Y" />\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="Error executing get token rest api" />\r
+                                </return>\r
+                            </outcome>\r
+                        </execute>\r
+                        <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
+                            <parameter name="templateFileName" value="`$prop.sdncRestApi.templateDir + '/l3smvpntemplate.json'`" />\r
                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'`" />\r
                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
-                            <parameter name="responsePrefix" value="restapi-result" />\r
+                            <parameter name="responsePrefix" value="vpn-result" />\r
+                            <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                            <outcome value="success" />\r
+                            <outcome value="failure">\r
+                                <return status="failure">\r
+                                    <parameter name="ack-final" value="Y" />\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="Error executing 3rd party controller rest api" />\r
+                                </return>\r
+                            </outcome>\r
                         </execute>\r
                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
-                            <parameter name="templateFileName" value="`$prop.sdncRestApi.tempDir +'/l3smsitetemplate.json'`" />\r
+                            <parameter name="templateFileName" value="`$prop.sdncRestApi.templateDir +'/l3smsitetemplate.json'`" />\r
                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites'`" />\r
                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
-                            <parameter name="responsePrefix" value="restapi-result" />\r
+                            <parameter name="responsePrefix" value="site-result" />\r
+                            <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                            <outcome value="success" />\r
+                            <outcome value="failure">\r
+                                <return status="failure">\r
+                                    <parameter name="ack-final" value="Y" />\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="Error executing 3rd party controller rest api" />\r
+                                </return>\r
+                            </outcome>\r
                         </execute>\r
                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
-                            <parameter name="templateFileName" value="`$prop.sdncRestApi.tempDir +'/l3smvrftemplate.json'`" />\r
+                            <parameter name="templateFileName" value="`$prop.sdncRestApi.templateDir +'/l3smvrftemplate.json'`" />\r
                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vrf-attributes'`" />\r
                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
-                            <parameter name="responsePrefix" value="restapi-result" />\r
+                            <parameter name="responsePrefix" value="vrf-result" />\r
+                            <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                            <outcome value="success" />\r
+                            <outcome value="failure">\r
+                                <return status="failure">\r
+                                    <parameter name="ack-final" value="Y" />\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="Error executing 3rd party controller rest api" />\r
+                                </return>\r
+                            </outcome>\r
                         </execute>\r
                     </block>\r
                 </outcome>\r
-                <outcome value="true">\r
+                <outcome value="l3vpn-sptn">\r
                     <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
-                        <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smsitetemplate.json'" />\r
+                        <parameter name="templateFileName" value="$prop.sdncRestApi.templateDir +'/l3smsitetemplate.json'" />\r
                         <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url" />\r
                         <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />\r
                         <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />\r
                     </return>\r
                 </outcome>\r
             </switch>\r
+            <set>\r
+                <parameter name="service-data.networks.network[$nidx].network-id" value="`$prop.l3vpn.network-id`" />\r
+                <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />\r
+                <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />\r
+                <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />\r
+                <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />\r
+                <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value="`$network-topology-operation-input.network-request-input.`" />\r
+                <parameter name="service-data.networks.network_length" value="`$nidx+1`" />\r
+            </set>\r
             <set>\r
                 <parameter name="networkId" value="`$prop.l3vpn.network-id`" />\r
                 <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.l3vpn.network-id  + '/network-data/'` " />\r
                 <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action" value="`$network-topology-operation-input.sdnc-request-header.svc-action`" />\r
                 <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action" value="`$network-topology-operation-input.request-information.request-action`" />\r
             </set>\r
+            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $prop.l3vpn.network-id">\r
+                <parameter name="configuration-id" value="`$prop.l3vpn.network-id`" />\r
+                <parameter name="configuration-type" value="underlay" />\r
+                <parameter name="orchestration-status" value="Created" />\r
+                <parameter name="configuration-selflink" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.l3vpn.network-id  + '/network-data/'` " />\r
+            </save>\r
+            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:relationship-list" key="service-instance.service-instance-id = $service-data.service-information.service-id">\r
+                <parameter name="relationship-list.relationship[0].related-to" value="configuration" />\r
+                <parameter name="relationship-list.relationship[0].related-link" value="/network/configurations/configuration" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="configuration.configuration-id" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.l3vpn.network-id`" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="configuration.configuration-type" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="underlay" />\r
+            </save>\r
             <return status="success">\r
                 <parameter name="ack-final-indicator" value="Y" />\r
                 <parameter name="error-code" value="200" />\r