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