Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_generic-configuration-topology-operation.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     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
4     <method rpc='generic-configuration-topology-operation' mode='sync'>\r
5         <block atomic="true">\r
6             <call module='GENERIC-RESOURCE-API' rpc='validate-generic-configuration-input' mode='sync' >\r
7                 <outcome value='failure'>\r
8                     <return status='failure'></return>\r
9                 </outcome>\r
10             </call>\r
11             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
12                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
13                 <parameter name='contextPrefix' value='prop' />\r
14             </execute>\r
15             <switch test='`$generic-configuration-topology-operation-input.sdnc-request-header.svc-action`'>\r
16                 <outcome value='assign'>\r
17                     <block atomic="true">\r
18                         <set>\r
19                             <parameter name='gc.configuration-id'\r
20   value='`$generic-configuration-topology-operation-input.configuration-information.configuration-id`' />\r
21                             <parameter name='gc.configuration-data.configuration-operation-information.sdnc-request-header.'\r
22   value='`$generic-configuration-topology-operation-input.sdnc-request-header.`' />\r
23                             <parameter name='gc.configuration-data.configuration-operation-information.request-information.'\r
24   value='`$generic-configuration-topology-operation-input.request-information.`' />\r
25                             <parameter name='gc.configuration-data.configuration-operation-information.service-information.'\r
26   value='`$generic-configuration-topology-operation-input.service-information.`' />\r
27                             <parameter name='gc.configuration-data.configuration-operation-information.configuration-information.'\r
28   value='`$generic-configuration-topology-operation-input.configuration-information.`' />\r
29                             <parameter name='gc.configuration-data.configuration-operation-information.gc-request-input.'\r
30   value='`$generic-configuration-topology-operation-input.gc-request-input.`' />\r
31                         </set>\r
32                         <set>\r
33                             <parameter name='gc.configuration-data.configuration-oper-status.order-status'\r
34   value='PendingCreate' />\r
35                             <parameter name='gc.configuration-data.configuration-oper-status.last-rpc-action'\r
36   value='assign' />\r
37                             <parameter name='gc.configuration-data.configuration-oper-status.last-action'\r
38   value='CreateGenericConfigurationInstance' />\r
39                         </set>\r
40                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
41                             <parameter name="source" value="`$prop.restapi.gc-configuration`"/>\r
42                             <parameter name="outputPath" value="tmp.gc-url"/>\r
43                             <parameter name="target" value="{configuration-id}"/>\r
44                             <parameter name="replacement" value="`$gc.configuration-id`"/>\r
45                         </execute>\r
46                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
47                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.genconfig.templatefile`" />\r
48                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.gc-url`' />\r
49                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
50                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
51                             <parameter name='format' value='json' />\r
52                             <parameter name='httpMethod' value='PUT' />\r
53                             <parameter name="responsePrefix" value="mdsal-gc" />\r
54                             <outcome value='failure'>\r
55                                 <block atomic="true">\r
56                                     <return status='failure'>\r
57                                         <parameter name='error-code' value='500' />\r
58                                         <parameter name='error-message' value='Error updating md-sal for gc-configuration' />\r
59                                     </return>\r
60                                 </block>\r
61                             </outcome>\r
62                             <outcome value='not-found'>\r
63                                 <block atomic="true">\r
64                                     <return status='failure'>\r
65                                         <parameter name='error-code' value='500' />\r
66                                         <parameter name='error-message' value='Error updating md-sal for gc-configuration' />\r
67                                     </return>\r
68                                 </block>\r
69                             </outcome>\r
70                         </execute>\r
71                     </block>\r
72                 </outcome>\r
73             </switch>\r
74             <set>\r
75                 <parameter name='notification-url'\r
76   value="`$prop.controller.url + '/restconf/operations/GENERIC-RESOURCE-API:generic-configuration-notification'`" />\r
77             </set>\r
78             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
79                 <parameter name="source" value="`$prop.bondingservice.server + $prop.bondingservice.uri`"/>\r
80                 <parameter name="outputPath" value="tmp.bs-url"/>\r
81                 <parameter name="target" value="{action}"/>\r
82                 <parameter name="replacement" value="`$generic-configuration-topology-operation-input.sdnc-request-header.svc-action`"/>\r
83             </execute>\r
84             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
85                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.bondingservice.templatefile`" />\r
86                 <parameter name='restapiUrl' value='`$tmp.bs-url`' />\r
87                 <parameter name='restapiUser' value='`$prop.bondingservice.user`' />\r
88                 <parameter name='restapiPassword' value='`$prop.bondingservice.password`' />\r
89                 <parameter name='format' value='json' />\r
90                 <parameter name='httpMethod' value='POST' />\r
91                 <parameter name="responsePrefix" value="bonding-service-response" />\r
92                 <parameter name='customHttpHeaders'\r
93       value="`'Authorization=Basic ' + $prop.bondingservice.authorization`" />\r
94                 <outcome value='failure'>\r
95                     <return status='failure'>\r
96                         <parameter name='error-code' value='500' />\r
97                         <parameter name='error-message' value="`'Error calling bonding service; ' + $error-message`" />\r
98                     </return>\r
99                 </outcome>\r
100             </execute>\r
101             <set>\r
102                 <parameter name='service-object-path'\r
103  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
104  + $service-data.service-information.service-instance-id\r
105  + '/service-data/service-topology/'`"/>\r
106             </set>\r
107             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
108                 <parameter name='filename' value='/var/tmp/bgb-genconfig.log' />\r
109             </execute>\r
110             <return status='success'>\r
111                 <parameter name="ack-final-indicator" value="`$bonding-service-response.ackFinalIndicator`" />\r
112                 <parameter name="error-code" value="200" />\r
113                 <parameter name="error-message" value="success" />\r
114             </return>\r
115         </block>\r
116     </method>\r
117 </service-logic>