aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-generate-name-changeassign.xml
blob: e2dc3e32a921ea3a15b8a39808f702aa578ad0b1 (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
<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='self-serve-vf-module-generate-name-changeassign' mode='sync'>
        <block atomic='true'>
            <set>
                <parameter name='tmp.external-key.value' value='' />
            </set>
            <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.resource-key_length`' >
                <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].name`'>
                    <outcome value='external-key'>
                        <set>
                            <parameter name='tmp.external-key.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].value`' />
                        </set>
                    </outcome>
                </switch>
            </for>
            <switch test='`$tmp.external-key.value`'>
                <outcome value=''>
                    <return status='failure'>
                        <parameter name='ack-final' value='Y'/>
                        <parameter name="error-code" value="500" />
                        <parameter name="error-message" value="self-service-vf-module-generate-name-changeassign error : external-key is null for vf-module" />
                    </return>
                </outcome>
            </switch>
            <set>
                <parameter name="tmp.vf-module.changeassign.naming-data-payload" value="`'{&quot;elements&quot;:[{' + '&quot;resource-name&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].name + '&quot;,&quot;resource-value&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value + '&quot;,&quot;external-key&quot;:&quot;' + $tmp.external-key.value + '&quot;}]}'`"/>
            </set>
            <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>
                <parameter name='payload' value='`$tmp.vf-module.changeassign.naming-data-payload`' />
                <parameter name="prifix" value="vf-module.changeassign.nameGenResponse" />
                <outcome value='failure'>
                    <block atomic='true'>
                        <set>
                            <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
                        </set>
                        <return status='failure'>
                            <parameter name='ack-final' value='Y'/>
                            <parameter name="error-code" value="500" />
                            <parameter name="error-message" value="`'Error from NameGenerationNode ChangeAssign vf-module ' + $error-message`" />
                        </return>
                    </block>
                </outcome>
                <outcome value='not-found'>
                    <block atomic='true'>
                        <set>
                            <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
                        </set>
                        <return status='failure'>
                            <parameter name='ack-final' value='Y'/>
                            <parameter name="error-code" value="500" />
                            <parameter name="error-message" value="`'Error from NameGenerationNode ChangeAssign vf-module ' + $error-message`" />
                        </return>
                    </block>
                </outcome>
            </execute>
            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
	resource="vf-module" key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id AND vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id " >
                <parameter name="vf-module-name" value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value`' />
                <outcome value='failure'>
                    <block atomic='true'>
                        <set>
                            <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
                        </set>
                        <return status='failure'>
                            <parameter name='ack-final' value='Y'/>
                            <parameter name="error-code" value="500" />
                            <parameter name="error-message" value="`'Failed to update vf-module.vf-module-name to ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value + ' in AnAI'`" />
                        </return>
                    </block>
                </outcome>
                <outcome value='not-found'>
                    <block atomic='true'>
                        <set>
                            <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
                        </set>
                        <return status='failure'>
                            <parameter name='ack-final' value='Y'/>
                            <parameter name="error-code" value="500" />
                            <parameter name="error-message" value="`'Failed to update vf-module.vf-module-name to ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value + ' in AnAI'`" />
                        </return>
                    </block>
                </outcome>
            </update>
            <set>
                <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].value`' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value`'/>
                <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.status`' value='SUCCESS' />
            </set>
        </block>
    </method>
</service-logic>
.param[$idx].name == 'site1_name'`"> <outcome value="true"> <set> <parameter name="prop.l3vpn.site1_name" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" /> </set> </outcome> </switch> <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'vrf1_id'`"> <outcome value="true"> <set> <parameter name="prop.l3vpn.vrf1-id" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" /> </set> </outcome> </switch> <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].name == 'vrf2_id'`"> <outcome value="true"> <set> <parameter name="prop.l3vpn.vrf2-id" value="`$service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$idx].value`" /> </set> </outcome> </switch> </block> </for> <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $prop.l3vpn.pe1_id AND depth = '0'" pfx="tmp.aai.pnf" local-only="false"> <outcome value="success"> <set> <parameter name="tmp.thirdparty-sdnc-id" value="`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`" /> </set> </outcome> <outcome value="not-found"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" /> </return> </outcome> <outcome value="Other"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" /> </return> </outcome> </get-resource> <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> <outcome value="success"> <set> <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].serviceUrl`" /> <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" /> <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" /> </set> </outcome> <outcome value="not-found"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Network model is_bound_to_vpn=true but no vpn_binding is present" /> </return> </outcome> <outcome value="Other"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Unexpected error retrieving vpn binding" /> </return> </outcome> </get-resource> <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="`$prop.l3vpn.service-type`"> <outcome value="l3vpn-ipwan"> <block atomic="true"> <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" /> <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" /> <parameter name="format" value="json" /> <parameter name="httpMethod" value="post" /> <parameter name="responsePrefix" value="token-result" /> <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" /> <parameter name="trustStorePassword" value="adminadmin" /> <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" /> <parameter name="keyStorePassword" value="adminadmin" /> <outcome value="success"> <set> <parameter name="prop.sdncRestApi.token_id" value="$token-result.data.token_id" /> </set> </outcome> <outcome value="failure"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Error executing get token rest api" /> </return> </outcome> </execute> <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites/site=' + $prop.l3vpn.site1_name`" /> <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" /> <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" /> <parameter name="format" value="json" /> <parameter name="httpMethod" value="delete" /> <parameter name="responsePrefix" value="site-result" /> <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" /> <parameter name="trustStorePassword" value="adminadmin" /> <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" /> <parameter name="keyStorePassword" value="adminadmin" /> <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" /> <outcome value="failure"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Error executing Delete Site rest api" /> </return> </outcome> <outcome value="success"> <block /> </outcome> </execute> <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes/vrf-attribute=' + $prop.l3vpn.vrf1-id`" /> <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" /> <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" /> <parameter name="format" value="json" /> <parameter name="httpMethod" value="delete" /> <parameter name="responsePrefix" value="vrf1-result" /> <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" /> <parameter name="trustStorePassword" value="adminadmin" /> <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" /> <parameter name="keyStorePassword" value="adminadmin" /> <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" /> <outcome value="success"> <block /> </outcome> <outcome value="failure"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Error executing Delete VRF1 rest api" /> </return> </outcome> </execute> <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes/vrf-attribute=' + $prop.l3vpn.vrf2-id`" /> <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" /> <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" /> <parameter name="format" value="json" /> <parameter name="httpMethod" value="delete" /> <parameter name="responsePrefix" value="vrf2-result" /> <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" /> <parameter name="trustStorePassword" value="adminadmin" /> <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" /> <parameter name="keyStorePassword" value="adminadmin" /> <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" /> <outcome value="success"> <block /> </outcome> <outcome value="failure"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Error executing Delete VRF2 rest api" /> </return> </outcome> </execute> <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services/vpnservice=' + $prop.l3vpn.name`" /> <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" /> <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" /> <parameter name="format" value="json" /> <parameter name="httpMethod" value="delete" /> <parameter name="responsePrefix" value="vpn-result" /> <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" /> <parameter name="trustStorePassword" value="adminadmin" /> <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" /> <parameter name="keyStorePassword" value="adminadmin" /> <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" /> <outcome value="success"> <block /> </outcome> <outcome value="failure"> <return status="failure"> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="500" /> <parameter name="error-message" value="Error executing Delete VPN rest api" /> </return> </outcome> </execute> </block> </outcome> </switch> <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $network-topology-operation-input.network-information.network-id" /> <switch test="`$service-data.networks.network_length`"> <outcome value="1"> <block atomic="true"> <set> <parameter name="service-data.networks." value="" /> </set> <set> <parameter name="service-data.networks.network_length" value="0" /> </set> </block> </outcome> <outcome value="Other"> <block atomic="true"> <set> <parameter name="tmp.new_length" value="`$service-data.networks.network_length - 1`" /> </set> <for silentFailure="true" index="snidx" start="`$tmp.nidx + 1`" end="`$service-data.networks.network_length`"> <block atomic="true" /> </for> <set> <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`" /> </set> <set> <parameter name="service-data.networks.network[$tmp.new_length]." value="" /> </set> </block> </outcome> </switch> <set> <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`" /> <parameter name="service-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $network-topology-operation-input.service-information.service-instance-id + '/service-data/service-topology/'` " /> </set> <return status="success"> <parameter name="ack-final-indicator" value="Y" /> <parameter name="error-code" value="200" /> <parameter name="error-message" value="`$error-message`" /> </return> </block> </method> </service-logic>