summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--installation/src/main/properties/generic-resource-api-dg.properties2
-rw-r--r--platform-logic/datachange/src/main/json/DataChange_data-change-notification.json170
-rw-r--r--platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json379
-rw-r--r--platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc.json320
-rw-r--r--platform-logic/datachange/src/main/json/DataChange_update-network-to-aai.json239
-rw-r--r--platform-logic/datachange/src/main/json/DataChange_validate-esr-thirdparty-sdnc-input.json457
-rw-r--r--platform-logic/datachange/src/main/resources/graph.versions5
-rw-r--r--platform-logic/datachange/src/main/xml/DataChange_data-change-notification.xml27
-rw-r--r--platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml67
-rw-r--r--platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc.xml50
-rw-r--r--platform-logic/datachange/src/main/xml/DataChange_update-network-to-aai.xml69
-rw-r--r--platform-logic/datachange/src/main/xml/DataChange_validate-esr-thirdparty-sdnc-input.xml49
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json536
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json2312
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json816
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json690
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json803
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json617
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.json2970
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.json1281
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.json1777
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.json1013
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.json481
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.json132
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.json777
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.json132
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.json116
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json993
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json1348
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.json828
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json944
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json946
-rw-r--r--platform-logic/generic-resource-api/src/main/resources/graph.versions6
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml82
-rw-r--r--[-rwxr-xr-x]platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml241
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml149
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml137
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml149
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml101
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.xml521
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.xml250
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.xml338
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.xml175
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.xml73
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.xml83
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.xml416
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.xml83
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.xml61
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml236
-rw-r--r--[-rwxr-xr-x]platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml425
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml589
-rw-r--r--[-rwxr-xr-x]platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml121
-rw-r--r--[-rwxr-xr-x]platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml98
-rw-r--r--platform-logic/restapi-templates/src/main/json/oof-getpath.json36
-rw-r--r--platform-logic/restapi-templates/src/main/json/sotn-attachment-allotted-resource.json153
-rw-r--r--platform-logic/restapi-templates/src/main/json/sotn-ethernet-service.json70
56 files changed, 21613 insertions, 4326 deletions
diff --git a/installation/src/main/properties/generic-resource-api-dg.properties b/installation/src/main/properties/generic-resource-api-dg.properties
index 3e1f1666..0995af0a 100644
--- a/installation/src/main/properties/generic-resource-api-dg.properties
+++ b/installation/src/main/properties/generic-resource-api-dg.properties
@@ -23,6 +23,7 @@ restapi.network-ar.templatefile=network-provided-allotted-resources.json
restapi.vnf-ar.templatefile=vnf-provided-allotted-resources.json
restapi.services.templatefile=vcpe-services-service.json
restapi.services.vnf.vfmodule.templatefile=vfmodule-vim-parameters.vgw.json
+restapi.sotn-attachment.templatefile=sotn-attachment-allotted-resource.json
# URLs
restapi.cr-allottedresource=/restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/
restapi.sz-allottedresource=/restconf/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/
@@ -39,3 +40,4 @@ restapi.parent-provided-resource=/restconf/config/GENERIC-RESOURCE-API:services/
restapi.network-provided-resource=/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-provided-allotted-resources/
restapi.services=/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}
restapi.service.vnf.vfmodule-resource=/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}
+restapi.connection-attachment-allottedresource=/restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/
diff --git a/platform-logic/datachange/src/main/json/DataChange_data-change-notification.json b/platform-logic/datachange/src/main/json/DataChange_data-change-notification.json
new file mode 100644
index 00000000..a68422ec
--- /dev/null
+++ b/platform-logic/datachange/src/main/json/DataChange_data-change-notification.json
@@ -0,0 +1,170 @@
+[
+ {
+ "id": "14de9b29.eb77a5",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 116.00390625,
+ "y": 67.9999988079071,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "1630f686.0be599"
+ ]
+ ]
+ },
+ {
+ "id": "1630f686.0be599",
+ "type": "service-logic",
+ "name": "DataChange ${project.version}",
+ "module": "DataChange",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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='DataChange' version='${project.version}'>",
+ "outputs": 1,
+ "x": 302.1150550842285,
+ "y": 172.44447016716003,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "8b5ae719.a8f008"
+ ]
+ ]
+ },
+ {
+ "id": "8b5ae719.a8f008",
+ "type": "method",
+ "name": "method data-change-notification",
+ "xml": "<method rpc='data-change-notification' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 299.5596046447754,
+ "y": 336.22225546836853,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "d99c1956.418f78"
+ ]
+ ]
+ },
+ {
+ "id": "d99c1956.418f78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 344.7818908691406,
+ "y": 451.1113257408142,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "fa034db9.8bac4",
+ "1981ae.01d4be53"
+ ]
+ ]
+ },
+ {
+ "id": "fa034db9.8bac4",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 552.3377494812012,
+ "y": 538.5561301708221,
+ "z": "bf7c0729.dcd628",
+ "wires": []
+ },
+ {
+ "id": "560d6ca1.0b4dd4",
+ "type": "call",
+ "name": "call esr-thirdparty-sdnc",
+ "xml": "<call module='DataChange' rpc='esr-thirdparty-sdnc' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1316.3379707336426,
+ "y": 346.66678977012634,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1981ae.01d4be53",
+ "type": "switchNode",
+ "name": "switch aai-node-type",
+ "xml": "<switch test='`$data-change-notification-input.aai-node-type`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 555.8866271972656,
+ "y": 414.88262701034546,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "3eac43c0.8ab16c",
+ "935a0267.cd419"
+ ]
+ ]
+ },
+ {
+ "id": "3eac43c0.8ab16c",
+ "type": "other",
+ "name": "esr-thirdparty-sdnc",
+ "xml": "<outcome value='esr-thirdparty-sdnc'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 837.9185485839844,
+ "y": 346.05725717544556,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "43f3171.d9a25e8"
+ ]
+ ]
+ },
+ {
+ "id": "935a0267.cd419",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.8866920471191,
+ "y": 413.8826596736908,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "b093dd51.fe287"
+ ]
+ ]
+ },
+ {
+ "id": "b093dd51.fe287",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"AAI node type not supported\" />",
+ "comments": "",
+ "x": 951.3312110900879,
+ "y": 413.99375891685486,
+ "z": "bf7c0729.dcd628",
+ "wires": []
+ },
+ {
+ "id": "43f3171.d9a25e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1040.0042114257812,
+ "y": 346.8262984752655,
+ "z": "bf7c0729.dcd628",
+ "wires": [
+ [
+ "560d6ca1.0b4dd4"
+ ]
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json b/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json
new file mode 100644
index 00000000..da0567b7
--- /dev/null
+++ b/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json
@@ -0,0 +1,379 @@
+[
+ {
+ "id": "865891e7.3a6c6",
+ "type": "other",
+ "name": "update",
+ "xml": "<outcome value='Update'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 673.4443511962891,
+ "y": 212.66669368743896,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "3eefa587.6bd50a"
+ ]
+ ]
+ },
+ {
+ "id": "4e8bb18c.6ca95",
+ "type": "other",
+ "name": "delete",
+ "xml": "<outcome value='delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 701.6665267944336,
+ "y": 484.33349609375,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "523ab02e.031c1"
+ ]
+ ]
+ },
+ {
+ "id": "523ab02e.031c1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 857.1112060546875,
+ "y": 484.33351707458496,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "977d339.f9669d",
+ "type": "comment",
+ "name": "TODO: Delete topology from AAI",
+ "info": "",
+ "comments": "",
+ "x": 781.7777862548828,
+ "y": 447.0001811981201,
+ "z": "fce0b4d3.a9be08",
+ "wires": []
+ },
+ {
+ "id": "9b67a1c0.1e23e",
+ "type": "switchNode",
+ "name": "switch aai-event-trigger",
+ "xml": "<switch test=\"`$data-change-notification-input.aai-event-trigger`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 457.9999771118164,
+ "y": 351.2222261428833,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "865891e7.3a6c6",
+ "4e8bb18c.6ca95"
+ ]
+ ]
+ },
+ {
+ "id": "3eefa587.6bd50a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 841.7781524658203,
+ "y": 211.11124515533447,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "8498ca44.850928",
+ "31425256.e48c3e",
+ "fd4c6f6.9751e9"
+ ]
+ ]
+ },
+ {
+ "id": "8498ca44.850928",
+ "type": "execute",
+ "name": "execute RestApiCallNode Get token",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1119.4376068115234,
+ "y": 167.03049993515015,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "c3c1ad15.85994",
+ "cd6736f3.94ff18"
+ ]
+ ]
+ },
+ {
+ "id": "c3c1ad15.85994",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1354.4376068115234,
+ "y": 145.03049993515015,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "e15c61b4.92509"
+ ]
+ ]
+ },
+ {
+ "id": "cd6736f3.94ff18",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1346.6876068115234,
+ "y": 198.6733832359314,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "40518e2c.2c734"
+ ]
+ ]
+ },
+ {
+ "id": "e15c61b4.92509",
+ "type": "set",
+ "name": "set token-id",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n",
+ "comments": "",
+ "x": 1508.4376068115234,
+ "y": 146.03049993515015,
+ "z": "fce0b4d3.a9be08",
+ "wires": []
+ },
+ {
+ "id": "31425256.e48c3e",
+ "type": "execute",
+ "name": "execute RestApiCallNode Get Topology",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"get\"/>\n<parameter name=\"responsePrefix\" value=\"topology\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1122.7710418701172,
+ "y": 260.73423767089844,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "ac09d1db.665eb",
+ "4c50157f.5bc03c"
+ ]
+ ]
+ },
+ {
+ "id": "ac09d1db.665eb",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1381.3263664245605,
+ "y": 238.73421955108643,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "7a8d5805.fa1088"
+ ]
+ ]
+ },
+ {
+ "id": "7a8d5805.fa1088",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1556.8818969726562,
+ "y": 236.40094184875488,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7717d78.ee45028",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+ "comments": "",
+ "x": 1565.1041717529297,
+ "y": 310.62305545806885,
+ "z": "fce0b4d3.a9be08",
+ "wires": []
+ },
+ {
+ "id": "4c50157f.5bc03c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1386.770851135254,
+ "y": 309.84528493881226,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "7717d78.ee45028"
+ ]
+ ]
+ },
+ {
+ "id": "fe88648c.ffce68",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 78.4443130493164,
+ "y": 91,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "7387008c.4a9fe"
+ ]
+ ]
+ },
+ {
+ "id": "7387008c.4a9fe",
+ "type": "service-logic",
+ "name": "DataChange ${project.version}",
+ "module": "DataChange",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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='DataChange' version='${project.version}'>",
+ "outputs": 1,
+ "x": 236.55543899536133,
+ "y": 132.4444613456726,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "f56e7701.2fd2c8"
+ ]
+ ]
+ },
+ {
+ "id": "f56e7701.2fd2c8",
+ "type": "method",
+ "name": "method esr-thirdparty-sdnc-discovery",
+ "xml": "<method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 333,
+ "y": 243.22224235534668,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "4c6047b0.71e118"
+ ]
+ ]
+ },
+ {
+ "id": "4c6047b0.71e118",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 241.22222900390625,
+ "y": 352.11122035980225,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "9b67a1c0.1e23e"
+ ]
+ ]
+ },
+ {
+ "id": "fd4c6f6.9751e9",
+ "type": "for",
+ "name": "for each Network",
+ "xml": "<for index='nidx' start='0' end='`$topology.networks.network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1054.9258041381836,
+ "y": 388.22217655181885,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "22efb538.f3605a"
+ ]
+ ]
+ },
+ {
+ "id": "22efb538.f3605a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1244.925765991211,
+ "y": 395.9999694824219,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ [
+ "995bcad0.798cf8",
+ "31478e5.e5c4072"
+ ]
+ ]
+ },
+ {
+ "id": "995bcad0.798cf8",
+ "type": "call",
+ "name": "call update-network-to-aai",
+ "xml": "<call module='DataChange' rpc='update-network-to-aai' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1498.2591876983643,
+ "y": 459.3333396911621,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31478e5.e5c4072",
+ "type": "set",
+ "name": "set network",
+ "xml": "<set>\n<parameter name='network.' value='`$topology.networks.network[$nidx].`' />\n",
+ "comments": "",
+ "x": 1450.4813079833984,
+ "y": 377.111083984375,
+ "z": "fce0b4d3.a9be08",
+ "wires": []
+ },
+ {
+ "id": "40518e2c.2c734",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1508.2590026855469,
+ "y": 193.7777624130249,
+ "z": "fce0b4d3.a9be08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "793cc07c.4e65e",
+ "type": "comment",
+ "name": "Do Nothing",
+ "info": "",
+ "comments": "",
+ "x": 1643.814576466878,
+ "y": 192.666638162401,
+ "z": "fce0b4d3.a9be08",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc.json b/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc.json
new file mode 100644
index 00000000..5c40ac4c
--- /dev/null
+++ b/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc.json
@@ -0,0 +1,320 @@
+[
+ {
+ "id": "d0fde8b6.3aa408",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 114.00390625,
+ "y": 42.00390625,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "4796011e.231d3"
+ ]
+ ]
+ },
+ {
+ "id": "4796011e.231d3",
+ "type": "service-logic",
+ "name": "DataChange ${project.version}",
+ "module": "DataChange",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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='DataChange' version='${project.version}'>",
+ "outputs": 1,
+ "x": 300.1150550842285,
+ "y": 146.44837760925293,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "83e631da.db4b1"
+ ]
+ ]
+ },
+ {
+ "id": "83e631da.db4b1",
+ "type": "method",
+ "name": "method esr-thirdparty-sdnc",
+ "xml": "<method rpc='esr-thirdparty-sdnc' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 297.5596046447754,
+ "y": 310.2261629104614,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "2d86f41b.00eefc"
+ ]
+ ]
+ },
+ {
+ "id": "2d86f41b.00eefc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 252.7818717956543,
+ "y": 445.1152181625366,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "1ccf3882.d71c77",
+ "41fd63bc.2e97bc",
+ "ba86cde8.fb9f3",
+ "b799af7a.5b9c9"
+ ]
+ ]
+ },
+ {
+ "id": "ba86cde8.fb9f3",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"data-change-notification\"/>\n<parameter name=\"field3\" value=\"Config\"/>\n<parameter name=\"field4\" value=\"`service-url`\"/>\n<parameter name=\"field5\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 542.00390625,
+ "y": 516.00390625,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1ccf3882.d71c77",
+ "type": "call",
+ "name": "call validate-esr-thirdparty-sdnc-input",
+ "xml": "<call module='DataChange' rpc='validate-esr-thirdparty-sdnc-input' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 655.7815399169922,
+ "y": 379.0037097930908,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "41fd63bc.2e97bc",
+ "type": "for",
+ "name": "for 0..key-data_length",
+ "xml": "<for index='idx' start='0' end='`$data-change-notification-input.key-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 590.4480133056641,
+ "y": 461.19469451904297,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "b1d2d6de.13b948"
+ ]
+ ]
+ },
+ {
+ "id": "b1d2d6de.13b948",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 762.3374786376953,
+ "y": 460.4169397354126,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "1ad86336.4ad5cd",
+ "fa2d7e75.6219e",
+ "5d462805.1bcf28",
+ "44977471.592c0c"
+ ]
+ ]
+ },
+ {
+ "id": "1ad86336.4ad5cd",
+ "type": "switchNode",
+ "name": "switch service-url",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'service-url'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 974.5591812133789,
+ "y": 370.5280923843384,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "49195641.421748"
+ ]
+ ]
+ },
+ {
+ "id": "49195641.421748",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1138.5593032836914,
+ "y": 369.5593252182007,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "68e2f0ac.a4549"
+ ]
+ ]
+ },
+ {
+ "id": "68e2f0ac.a4549",
+ "type": "set",
+ "name": "set service-url",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='`$data-change-notification-input.key-data[$idx].key-value`' />\n",
+ "comments": "",
+ "x": 1292.5593948364258,
+ "y": 369.1593189239502,
+ "z": "57a3a26d.f7d23c",
+ "wires": []
+ },
+ {
+ "id": "fa2d7e75.6219e",
+ "type": "switchNode",
+ "name": "switch user-name",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'user-name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 971.8489265441895,
+ "y": 439.7751522064209,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "4a967272.ac408c"
+ ]
+ ]
+ },
+ {
+ "id": "4a967272.ac408c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1140.8489151000977,
+ "y": 437.8063955307007,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "a97aae71.052dc"
+ ]
+ ]
+ },
+ {
+ "id": "a97aae71.052dc",
+ "type": "set",
+ "name": "set user",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value='`$data-change-notification-input.key-data[$idx].key-value`' />\n",
+ "comments": "",
+ "x": 1276.8490676879883,
+ "y": 437.40638637542725,
+ "z": "57a3a26d.f7d23c",
+ "wires": []
+ },
+ {
+ "id": "5d462805.1bcf28",
+ "type": "switchNode",
+ "name": "switch password",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'password'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 969.6267585754395,
+ "y": 505.33070182800293,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "aa2c8a18.06def8"
+ ]
+ ]
+ },
+ {
+ "id": "aa2c8a18.06def8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1141.6267166137695,
+ "y": 505.36194705963135,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "ae62fe3a.d8789"
+ ]
+ ]
+ },
+ {
+ "id": "ae62fe3a.d8789",
+ "type": "set",
+ "name": "set password",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value='`$data-change-notification-input.key-data[$idx].key-value`' />\n",
+ "comments": "",
+ "x": 1296.6269607543945,
+ "y": 503.9619264602661,
+ "z": "57a3a26d.f7d23c",
+ "wires": []
+ },
+ {
+ "id": "b799af7a.5b9c9",
+ "type": "call",
+ "name": "call esr-thirdparty-sdnc-discovery",
+ "xml": "<call module='DataChange' rpc='esr-thirdparty-sdnc-discovery' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.4416656494141,
+ "y": 587.5529069900513,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "44977471.592c0c",
+ "type": "switchNode",
+ "name": "switch esr-system-info-id",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'esr-system-info-id'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 991.4480667114258,
+ "y": 559.3370685577393,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "e1fdba16.c57aa8"
+ ]
+ ]
+ },
+ {
+ "id": "e1fdba16.c57aa8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1166.4480438232422,
+ "y": 557.3682584762573,
+ "z": "57a3a26d.f7d23c",
+ "wires": [
+ [
+ "3f219327.b83efc"
+ ]
+ ]
+ },
+ {
+ "id": "3f219327.b83efc",
+ "type": "set",
+ "name": "set esr-system-info-id",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.id' value='`$data-change-notification-input.key-data[$idx].key-value`' />\n",
+ "comments": "",
+ "x": 1332.448013305664,
+ "y": 558.968282699585,
+ "z": "57a3a26d.f7d23c",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_update-network-to-aai.json b/platform-logic/datachange/src/main/json/DataChange_update-network-to-aai.json
new file mode 100644
index 00000000..9e0f17a7
--- /dev/null
+++ b/platform-logic/datachange/src/main/json/DataChange_update-network-to-aai.json
@@ -0,0 +1,239 @@
+[
+ {
+ "id": "8623b35d.0cf2f",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 125.00390625,
+ "y": 106.00650644302368,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ [
+ "e714b902.20b798"
+ ]
+ ]
+ },
+ {
+ "id": "e714b902.20b798",
+ "type": "service-logic",
+ "name": "DataChange ${project.version}",
+ "module": "DataChange",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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='DataChange' version='${project.version}'>",
+ "outputs": 1,
+ "x": 327.0039291381836,
+ "y": 106.89541959762573,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ [
+ "fb9820f4.4f92d"
+ ]
+ ]
+ },
+ {
+ "id": "fb9820f4.4f92d",
+ "type": "method",
+ "name": "method update-network-to-aai",
+ "xml": "<method rpc='update-network-to-aai' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 336.1151580810547,
+ "y": 178.22874116897583,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ [
+ "b1c5fee.fa526"
+ ]
+ ]
+ },
+ {
+ "id": "b1c5fee.fa526",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 583.3373489379883,
+ "y": 176.78443002700806,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ [
+ "d5568e89.0fd49",
+ "65e1e67.b95e318",
+ "fcfec7b9.699088"
+ ]
+ ]
+ },
+ {
+ "id": "d5568e89.0fd49",
+ "type": "update",
+ "name": "save Zone",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='zone' \n key='zone.zone-id = $tmp.network-id' >\n<parameter name='zone-id' value='`$tmp.network-id`' />\n<parameter name='zone-name' value='`$network.client-id`' />\n<parameter name='design-type' value='`$network.te-topology-id`' />\n<parameter name='zone-context' value='`$network.provider-id`' />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 808.3371810913086,
+ "y": 176.00651788711548,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "af980bc1.1f72b8",
+ "type": "update",
+ "name": "save pnf",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \n key='pnf.pnf-name = $node.node-id' >\n<parameter name='pnf-name' value='`$node.node-id`' />\n<parameter name='pnf-id' value='`$node.node-id`' />\n<parameter name='in-maint' value='true' />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1052.1150245666504,
+ "y": 271.11759901046753,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "65e1e67.b95e318",
+ "type": "for",
+ "name": "for each node",
+ "xml": "<for index='pidx' start='0' end='`$network.node_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 823.8927383422852,
+ "y": 339.33982038497925,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ [
+ "af980bc1.1f72b8",
+ "476a4fdb.dc5f5",
+ "96688ca0.6a9f6",
+ "9b63a4a9.acd508",
+ "8140ea7f.0a90f8"
+ ]
+ ]
+ },
+ {
+ "id": "476a4fdb.dc5f5",
+ "type": "set",
+ "name": "set network",
+ "xml": "<set>\n<parameter name='node.' value='`$network.node[$pidx].`' />\n",
+ "comments": "",
+ "x": 1062.114990234375,
+ "y": 202.22872114181519,
+ "z": "1ef7a393.52dc1c",
+ "wires": []
+ },
+ {
+ "id": "96688ca0.6a9f6",
+ "type": "save",
+ "name": "save pnf relationship to zone in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n key='pnf.pnf-name = $node.node-id' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"zone\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/zones/zone/' + $tmp.network-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"zone.zone-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$tmp.network-id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1138.7819213867188,
+ "y": 344.4509873390198,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9b63a4a9.acd508",
+ "type": "for",
+ "name": "for each termination point",
+ "xml": "<for index='tidx' start='0' end='`$node.termination-point_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1099.448387145996,
+ "y": 497.11759424209595,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ [
+ "b34b1b54.abd288",
+ "66fee673.3f4e78",
+ "6031db9d.646964",
+ "3a479676.ca94ea"
+ ]
+ ]
+ },
+ {
+ "id": "b34b1b54.abd288",
+ "type": "set",
+ "name": "set termination point",
+ "xml": "<set>\n<parameter name='tp.' value='`$node.termination-point[$tidx].`' />\n",
+ "comments": "",
+ "x": 1480.1151962280273,
+ "y": 384.00655603408813,
+ "z": "1ef7a393.52dc1c",
+ "wires": []
+ },
+ {
+ "id": "66fee673.3f4e78",
+ "type": "update",
+ "name": "save logical-link",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link' \n key='logical-link.link-name = $unique-ltpId' >\n<parameter name='link-name' value='`$unique-ltpId`' />\n<parameter name='link-type' value='VL' />\n<parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\n<parameter name='in-maint' value='`$tp.svc.supported-classification.transparent`' />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1463.8188934326172,
+ "y": 509.5621018409729,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6031db9d.646964",
+ "type": "save",
+ "name": "save pnf relationship to logical-link in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n key='pnf.pnf-name = $node.node-id' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"logical-link\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/logical-links/logical-link/' + $unique-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"logical-link.link-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$unique-ltpId`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1542.7077331542969,
+ "y": 577.3398509025574,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3a479676.ca94ea",
+ "type": "set",
+ "name": "set unique-ltpId",
+ "xml": "<set>\n<parameter name='unique-ltpId' value=\"`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`\" />\n",
+ "comments": "",
+ "x": 1459.0040893554688,
+ "y": 445.1176323890686,
+ "z": "1ef7a393.52dc1c",
+ "wires": []
+ },
+ {
+ "id": "fcfec7b9.699088",
+ "type": "execute",
+ "name": "execute",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$network.network-id`\"/>\n <parameter name=\"outputPath\" value=\"tmp.network-id\"/>\n <parameter name=\"target\" value=\"/\"/>\n <parameter name=\"replacement\" value=\"-\"/>\n ",
+ "comments": "",
+ "outputs": 1,
+ "x": 796.9974060058594,
+ "y": 79.99999856948853,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8140ea7f.0a90f8",
+ "type": "save",
+ "name": "save pnf relation with esr-thirdparty-sdnc",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \n key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"pnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $node.node-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"pnf.pnf-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$node.node-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1119.00390625,
+ "y": 414.9999985694885,
+ "z": "1ef7a393.52dc1c",
+ "wires": [
+ []
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_validate-esr-thirdparty-sdnc-input.json b/platform-logic/datachange/src/main/json/DataChange_validate-esr-thirdparty-sdnc-input.json
new file mode 100644
index 00000000..b17138e0
--- /dev/null
+++ b/platform-logic/datachange/src/main/json/DataChange_validate-esr-thirdparty-sdnc-input.json
@@ -0,0 +1,457 @@
+[
+ {
+ "id": "757023b0.c2468c",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 117.00390625,
+ "y": 95.99999871850014,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "7a528753.0793a8"
+ ]
+ ]
+ },
+ {
+ "id": "7a528753.0793a8",
+ "type": "service-logic",
+ "name": "DataChange ${project.version}",
+ "module": "DataChange",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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='DataChange' version='${project.version}'>",
+ "outputs": 1,
+ "x": 320.11501693725586,
+ "y": 98.00002494454384,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "ae93aaac.418418"
+ ]
+ ]
+ },
+ {
+ "id": "ae93aaac.418418",
+ "type": "method",
+ "name": "method validate-esr-thirdparty-sdnc-input",
+ "xml": "<method rpc='validate-esr-thirdparty-sdnc-input' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 398.5596008300781,
+ "y": 220.00002479553223,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "37ee7462.da3a1c"
+ ]
+ ]
+ },
+ {
+ "id": "2152ae75.5db0e2",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2487.0038986206055,
+ "y": 1273.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "e2ca5b21.1154c8"
+ ]
+ ]
+ },
+ {
+ "id": "e2ca5b21.1154c8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while splitting sna1_route\" />\n",
+ "comments": "",
+ "x": 2668.0038986206055,
+ "y": 1271.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "6fe2c29e.8f19cc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2485.0038986206055,
+ "y": 1375.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "e3dd559f.6ba7b8"
+ ]
+ ]
+ },
+ {
+ "id": "e3dd559f.6ba7b8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while splitting sna1_route\" />\n",
+ "comments": "",
+ "x": 2666.0038986206055,
+ "y": 1373.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "47680dcc.0511d4",
+ "type": "failure",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2486.0038986206055,
+ "y": 1207.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "18757b49.6ae535"
+ ]
+ ]
+ },
+ {
+ "id": "f3d08cd7.3ee9b",
+ "type": "failure",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2482.0038986206055,
+ "y": 1327.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "20888a03.0d8406"
+ ]
+ ]
+ },
+ {
+ "id": "18757b49.6ae535",
+ "type": "set",
+ "name": "set route1 ip-prefix next-hop",
+ "xml": "<set>\n<parameter name='prop.l3vpn.sna1-route.ip-prefix' value='`$route1[0]`' />\n<parameter name='prop.l3vpn.sna1-route.next-hop' value='`$route1[1]`' />\n",
+ "comments": "",
+ "x": 2693.0038986206055,
+ "y": 1201.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "20888a03.0d8406",
+ "type": "set",
+ "name": "set route2 ip-prefix next-hop",
+ "xml": "<set>\n<parameter name='prop.l3vpn.sna2-route.ip-prefix' value='`$route2[0]`' />\n<parameter name='prop.l3vpn.sna2-route.next-hop' value='`$route2[1]`' />",
+ "comments": "",
+ "x": 2693.0038986206055,
+ "y": 1320.5555483400822,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "e1257f0.a7f488",
+ "type": "switchNode",
+ "name": "switch aai-node-type",
+ "xml": "<switch test='`$data-change-notification-input.aai-node-type`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 786.8929500579834,
+ "y": 374.5555830001831,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "ec1259f5.ebbc68"
+ ]
+ ]
+ },
+ {
+ "id": "ec1259f5.ebbc68",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1012.6072008950368,
+ "y": 357.5555825914653,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "df711004.31bd3"
+ ]
+ ]
+ },
+ {
+ "id": "df711004.31bd3",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"data-change-notification-input.aai-node-type is a required input\" />\n",
+ "comments": "",
+ "x": 1164.0357668740407,
+ "y": 357.55558068411665,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "ecc0f598.db90c8",
+ "type": "switchNode",
+ "name": "switch aai-event-trigger",
+ "xml": "<switch test='`$data-change-notification-input.aai-event-trigger`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 796.464277267456,
+ "y": 316.12700843811035,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "a9518242.ec786"
+ ]
+ ]
+ },
+ {
+ "id": "a9518242.ec786",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1011.1786212921143,
+ "y": 314.69840812683105,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "239438cd.9f0138"
+ ]
+ ]
+ },
+ {
+ "id": "239438cd.9f0138",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"data-change-notification-input.aai-event-trigger is a required input\" />\n",
+ "comments": "",
+ "x": 1161.1785945892334,
+ "y": 314.6984176635742,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "4bbc510.85d9db",
+ "type": "for",
+ "name": "for 0..key-data_length",
+ "xml": "<for index='idx' start='0' end='`$data-change-notification-input.key-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.3373355865479,
+ "y": 445.0000476837158,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "de7f2e06.cc171"
+ ]
+ ]
+ },
+ {
+ "id": "de7f2e06.cc171",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 737.2263736724854,
+ "y": 535.4444351196289,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "2f8a5311.978d7c",
+ "267435da.461d5a",
+ "596d52bd.fd695c"
+ ]
+ ]
+ },
+ {
+ "id": "a0ba4f6d.060be",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1183.671136856079,
+ "y": 557.7778100967407,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "49a377b1.d9e3a8"
+ ]
+ ]
+ },
+ {
+ "id": "577c0f47.e83ae",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1178.2425479888916,
+ "y": 496.92064571380615,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "713caa1.0fcb154"
+ ]
+ ]
+ },
+ {
+ "id": "713caa1.0fcb154",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"data-change-notification-input.key-data.key-data.service-url is a required input\" />\n",
+ "comments": "",
+ "x": 1367.2424297332764,
+ "y": 495.92064571380615,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "8eb34243.18f14",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1186.671136856079,
+ "y": 620.634973526001,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "347ffe80.91f072"
+ ]
+ ]
+ },
+ {
+ "id": "37ee7462.da3a1c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 488.892822265625,
+ "y": 378.77777767181396,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "ecc0f598.db90c8",
+ "e1257f0.a7f488",
+ "4bbc510.85d9db"
+ ]
+ ]
+ },
+ {
+ "id": "2f8a5311.978d7c",
+ "type": "switchNode",
+ "name": "switch service-url",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'service-url'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 987.7076587677002,
+ "y": 495,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "577c0f47.e83ae"
+ ]
+ ]
+ },
+ {
+ "id": "267435da.461d5a",
+ "type": "switchNode",
+ "name": "switch user-name",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'user-name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 987.9973659515381,
+ "y": 564.2470645904541,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "a0ba4f6d.060be"
+ ]
+ ]
+ },
+ {
+ "id": "596d52bd.fd695c",
+ "type": "switchNode",
+ "name": "switch password",
+ "xml": "<switch test=\"`$data-change-notification-input.key-data[$idx].key-name == 'password'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 985.7751979827881,
+ "y": 629.8026142120361,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ [
+ "8eb34243.18f14"
+ ]
+ ]
+ },
+ {
+ "id": "49a377b1.d9e3a8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1347.337236404419,
+ "y": 557.2222194671631,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "347ffe80.91f072",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1350.670488357544,
+ "y": 626.11110496521,
+ "z": "43ea58cb.5b56b8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "110d1cac.458883",
+ "type": "comment",
+ "name": "do nothing to support http",
+ "info": "",
+ "comments": "",
+ "x": 1542.8929843902588,
+ "y": 555.0000343322754,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ },
+ {
+ "id": "83190729.11d658",
+ "type": "comment",
+ "name": "do nothing to support http",
+ "info": "",
+ "comments": "",
+ "x": 1542.8927783966064,
+ "y": 624.9999752044678,
+ "z": "43ea58cb.5b56b8",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/resources/graph.versions b/platform-logic/datachange/src/main/resources/graph.versions
new file mode 100644
index 00000000..5c1b0889
--- /dev/null
+++ b/platform-logic/datachange/src/main/resources/graph.versions
@@ -0,0 +1,5 @@
+DataChange data-change-notification ${project.version} sync
+DataChange esr-thirdparty-sdnc ${project.version} sync
+DataChange validate-esr-thirdparty-sdnc-input ${project.version} sync
+DataChange esr-thirdparty-sdnc-discovery ${project.version} sync
+DataChange update-network-to-aai ${project.version} sync
diff --git a/platform-logic/datachange/src/main/xml/DataChange_data-change-notification.xml b/platform-logic/datachange/src/main/xml/DataChange_data-change-notification.xml
new file mode 100644
index 00000000..76f2fe89
--- /dev/null
+++ b/platform-logic/datachange/src/main/xml/DataChange_data-change-notification.xml
@@ -0,0 +1,27 @@
+<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='DataChange' version='${project.version}'>
+ <method rpc='data-change-notification' mode='sync'>
+ <block atomic="true">
+ <switch test='`$data-change-notification-input.aai-node-type`'>
+ <outcome value='esr-thirdparty-sdnc'>
+ <block atomic="true">
+ <call module='DataChange' rpc='esr-thirdparty-sdnc' mode='sync' ></call>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI node type not supported" />
+ </return>
+ </outcome>
+ </switch>
+ <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> \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml b/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml
new file mode 100644
index 00000000..ba2ea398
--- /dev/null
+++ b/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml
@@ -0,0 +1,67 @@
+<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='DataChange' version='${project.version}'>
+ <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>
+ <block atomic="true">
+ <switch test="`$data-change-notification-input.aai-event-trigger`">
+ <outcome value='Update'>
+ <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.openecomp.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'>
+ <block></block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />
+ <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="get"/>
+ <parameter name="responsePrefix" value="topology"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.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 atomic="true"></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 Create vpn rest api" />
+ </return>
+ </outcome>
+ </execute>
+ <for index='nidx' start='0' end='`$topology.networks.network_length`' >
+ <block>
+ <set>
+ <parameter name='network.' value='`$topology.networks.network[$nidx].`' />
+ </set>
+ <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='delete'>
+ <block atomic="true"></block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc.xml b/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc.xml
new file mode 100644
index 00000000..33d91a7c
--- /dev/null
+++ b/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc.xml
@@ -0,0 +1,50 @@
+<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='DataChange' version='${project.version}'>
+ <method rpc='esr-thirdparty-sdnc' mode='sync'>
+ <block atomic="true">
+ <call module='DataChange' rpc='validate-esr-thirdparty-sdnc-input' mode='sync' ></call>
+ <for index='idx' start='0' end='`$data-change-notification-input.key-data_length`' >
+ <block>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'service-url'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='`$data-change-notification-input.key-data[$idx].key-value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'user-name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value='`$data-change-notification-input.key-data[$idx].key-value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'password'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value='`$data-change-notification-input.key-data[$idx].key-value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'esr-system-info-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.id' value='`$data-change-notification-input.key-data[$idx].key-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="data-change-notification"/>
+ <parameter name="field3" value="Config"/>
+ <parameter name="field4" value="`service-url`"/>
+ <parameter name="field5" value="`$prop.sdncRestApi.thirdpartySdnc.url`"/>
+ </record>
+ <call module='DataChange' rpc='esr-thirdparty-sdnc-discovery' mode='sync' ></call>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_update-network-to-aai.xml b/platform-logic/datachange/src/main/xml/DataChange_update-network-to-aai.xml
new file mode 100644
index 00000000..cdd0edb9
--- /dev/null
+++ b/platform-logic/datachange/src/main/xml/DataChange_update-network-to-aai.xml
@@ -0,0 +1,69 @@
+<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='DataChange' version='${project.version}'>
+ <method rpc='update-network-to-aai' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$network.network-id`"/>
+ <parameter name="outputPath" value="tmp.network-id"/>
+ <parameter name="target" value="/"/>
+ <parameter name="replacement" value="-"/>
+ </execute>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='zone'
+ key='zone.zone-id = $tmp.network-id' >
+ <parameter name='zone-id' value='`$tmp.network-id`' />
+ <parameter name='zone-name' value='`$network.client-id`' />
+ <parameter name='design-type' value='`$network.te-topology-id`' />
+ <parameter name='zone-context' value='`$network.provider-id`' />
+ </save>
+ <for index='pidx' start='0' end='`$network.node_length`' >
+ <set>
+ <parameter name='node.' value='`$network.node[$pidx].`' />
+ </set>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'
+ key='pnf.pnf-name = $node.node-id' >
+ <parameter name='pnf-name' value='`$node.node-id`' />
+ <parameter name='pnf-id' value='`$node.node-id`' />
+ <parameter name='in-maint' value='true' />
+ </save>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'
+ key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="zone" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/zones/zone/' + $tmp.network-id`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="zone.zone-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />
+ </save>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list'
+ key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id'
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="pnf" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`" />
+ </save>
+ <for index='tidx' start='0' end='`$node.termination-point_length`' >
+ <set>
+ <parameter name='tp.' value='`$node.termination-point[$tidx].`' />
+ </set>
+ <set>
+ <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />
+ </set>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link'
+ key='logical-link.link-name = $unique-ltpId' >
+ <parameter name='link-name' value='`$unique-ltpId`' />
+ <parameter name='link-type' value='VL' />
+ <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />
+ <parameter name='in-maint' value='`$tp.svc.supported-classification.transparent`' />
+ </save>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'
+ key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="logical-link" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $unique-ltpId`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId`" />
+ </save>
+ </for>
+ </for>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_validate-esr-thirdparty-sdnc-input.xml b/platform-logic/datachange/src/main/xml/DataChange_validate-esr-thirdparty-sdnc-input.xml
new file mode 100644
index 00000000..9c4443c3
--- /dev/null
+++ b/platform-logic/datachange/src/main/xml/DataChange_validate-esr-thirdparty-sdnc-input.xml
@@ -0,0 +1,49 @@
+<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='DataChange' version='${project.version}'>
+ <method rpc='validate-esr-thirdparty-sdnc-input' mode='sync'>
+ <block atomic="true">
+ <switch test='`$data-change-notification-input.aai-event-trigger`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="data-change-notification-input.aai-event-trigger is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$data-change-notification-input.aai-node-type`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="data-change-notification-input.aai-node-type is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$data-change-notification-input.key-data_length`' >
+ <block>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'service-url'`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="data-change-notification-input.key-data.key-data.service-url is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'user-name'`">
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ </switch>
+ <switch test="`$data-change-notification-input.key-data[$idx].key-name == 'password'`">
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json
new file mode 100644
index 00000000..77d885af
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json
@@ -0,0 +1,536 @@
+[
+ {
+ "id": "b2143086.a417",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 109.03125,
+ "y": 37.03125,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "7e88a37a.69419c"
+ ]
+ ]
+ },
+ {
+ "id": "7e88a37a.69419c",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 247.03126525878906,
+ "y": 98.03124809265137,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "90bc847a.1e90f8"
+ ]
+ ]
+ },
+ {
+ "id": "90bc847a.1e90f8",
+ "type": "method",
+ "name": "connection-attachment-topology-operation",
+ "xml": "<method rpc='connection-attachment-topology-operation' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 282.0312805175781,
+ "y": 146.03127670288086,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "bf0dea50.c6f6f8"
+ ]
+ ]
+ },
+ {
+ "id": "bf0dea50.c6f6f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 207.03125,
+ "y": 224.03124237060547,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "4b652dbe.7deec4",
+ "976e09a7.a23c78",
+ "d692689.8b14098",
+ "f2e8c4be.f6edf8"
+ ]
+ ]
+ },
+ {
+ "id": "4b652dbe.7deec4",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 421.40042877197266,
+ "y": 836.8741173744202,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "976e09a7.a23c78",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 428.0311737060547,
+ "y": 383.44496059417725,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "7df40438.8d552c",
+ "854b6002.a361e",
+ "d0a5f285.16e91",
+ "a7c210e.8aeb8f",
+ "d7a3669.7308f98"
+ ]
+ ]
+ },
+ {
+ "id": "d692689.8b14098",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:validate-connection-attachment-input",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-connection-attachment-input' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 619.6026916503906,
+ "y": 204.01640129089355,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "7df40438.8d552c",
+ "type": "other",
+ "name": "activate",
+ "xml": "<outcome value='activate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 643.3169174194336,
+ "y": 392.58784008026123,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "c747bb59.396bf8"
+ ]
+ ]
+ },
+ {
+ "id": "854b6002.a361e",
+ "type": "other",
+ "name": "deactivate",
+ "xml": "<outcome value='deactivate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 653.3169784545898,
+ "y": 673.5880031585693,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "5f2c7e54.e5319"
+ ]
+ ]
+ },
+ {
+ "id": "d0a5f285.16e91",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 642.6502876281738,
+ "y": 758.9214267730713,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "63b93e5c.700f6"
+ ]
+ ]
+ },
+ {
+ "id": "63b93e5c.700f6",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is invalid\" />\n",
+ "comments": "",
+ "x": 824.6502838134766,
+ "y": 757.9214363098145,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f2e8c4be.f6edf8",
+ "type": "set",
+ "name": "Set final indicator to Y",
+ "xml": "<set>\n<parameter name=\"ack-final\" value=\"Y\"/>",
+ "comments": "",
+ "x": 440.4281234741211,
+ "y": 796.0324559211731,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a7c210e.8aeb8f",
+ "type": "other",
+ "name": "create",
+ "xml": "<outcome value='create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 642.5576133728027,
+ "y": 257.19257259368896,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "8d1575e7.3d39d8"
+ ]
+ ]
+ },
+ {
+ "id": "d7a3669.7308f98",
+ "type": "other",
+ "name": "delete",
+ "xml": "<outcome value='delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 647.8909645080566,
+ "y": 533.8593759536743,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "347f7912.887506"
+ ]
+ ]
+ },
+ {
+ "id": "380d46d2.a08ada",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1537.1175537109375,
+ "y": 208.57203483581543,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "8d1575e7.3d39d8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 833.5313034057617,
+ "y": 256.0312566757202,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "b4498aac.7cb2b8",
+ "ed77a730.056558"
+ ]
+ ]
+ },
+ {
+ "id": "b4498aac.7cb2b8",
+ "type": "outcome",
+ "name": "CreateSOTNAttachmentInstance",
+ "xml": "<outcome value='CreateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1088.864517211914,
+ "y": 208.03106307983398,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "380d46d2.a08ada"
+ ]
+ ]
+ },
+ {
+ "id": "ed77a730.056558",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1018.8646240234375,
+ "y": 299.69779205322266,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "1b79383c.71b538"
+ ]
+ ]
+ },
+ {
+ "id": "1b79383c.71b538",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
+ "comments": "",
+ "x": 1184.5312881469727,
+ "y": 300.03125762939453,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b97ace55.086d3",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1546.5312957763672,
+ "y": 343.03125953674316,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "a6785aab.86f948",
+ "type": "outcome",
+ "name": "ActivateSOTNAttachmentInstance",
+ "xml": "<outcome value='ActivateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1096.278335571289,
+ "y": 345.4902935028076,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "b97ace55.086d3"
+ ]
+ ]
+ },
+ {
+ "id": "d100865f.7e59f8",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1026.2784423828125,
+ "y": 437.1570224761963,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "19062ead.ade691"
+ ]
+ ]
+ },
+ {
+ "id": "bbd40a3d.52a218",
+ "type": "outcome",
+ "name": "DeactivateSOTNAttachmentInstance",
+ "xml": "<outcome value='DeactivateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1115.8645477294922,
+ "y": 484.0310802459717,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "cdb50b2f.8ff328"
+ ]
+ ]
+ },
+ {
+ "id": "6647d681.d75a78",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1030.8645706176758,
+ "y": 575.6977853775024,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "dab4a1b3.5c9b3"
+ ]
+ ]
+ },
+ {
+ "id": "cdb50b2f.8ff328",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1574.5313720703125,
+ "y": 484.03126335144043,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "8c01d720.070a78",
+ "type": "outcome",
+ "name": "DeleteSOTNAttachmentInstance",
+ "xml": "<outcome value='DeleteSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1104.8644638061523,
+ "y": 625.0310564041138,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "58c79286.6e607c"
+ ]
+ ]
+ },
+ {
+ "id": "aa83e7c.d9f1218",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1034.8645706176758,
+ "y": 716.6977853775024,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "4e0c491c.1e9da8"
+ ]
+ ]
+ },
+ {
+ "id": "58c79286.6e607c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1560.5313415527344,
+ "y": 626.0312671661377,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "c747bb59.396bf8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 831.0313110351562,
+ "y": 397.03126335144043,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "a6785aab.86f948",
+ "d100865f.7e59f8"
+ ]
+ ]
+ },
+ {
+ "id": "347f7912.887506",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 845.03125,
+ "y": 538.03125,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "bbd40a3d.52a218",
+ "6647d681.d75a78"
+ ]
+ ]
+ },
+ {
+ "id": "5f2c7e54.e5319",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 848.03125,
+ "y": 673.03125,
+ "z": "efb71132.eba6e",
+ "wires": [
+ [
+ "8c01d720.070a78",
+ "aa83e7c.d9f1218"
+ ]
+ ]
+ },
+ {
+ "id": "19062ead.ade691",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
+ "comments": "",
+ "x": 1190.03125,
+ "y": 437.03125,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "dab4a1b3.5c9b3",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
+ "comments": "",
+ "x": 1198.03125,
+ "y": 577.03125,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4e0c491c.1e9da8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
+ "comments": "",
+ "x": 1203.03125,
+ "y": 716.03125,
+ "z": "efb71132.eba6e",
+ "wires": [
+
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json
index ffa24576..4e2c7d5f 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json
@@ -1,1010 +1,1306 @@
[
- {
- "id":"f7054ab9.c750e8",
- "type":"dgstart",
- "name":"DGSTART",
- "outputs":1,
- "x":120.66666412353516,
- "y":100.41365557909012,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "c424c6c5.ae02a8"
- ]
- ]
- },
- {
- "id":"c424c6c5.ae02a8",
- "type":"service-logic",
- "name":"GENERIC-RESOURCE-API ${project.version}",
- "module":"GENERIC-RESOURCE-API",
- "version":"${project.version}",
- "comments":"",
- "xml":"<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}'>",
- "outputs":1,
- "x":202.61902618408203,
- "y":140.65176802873611,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "293d1a40.e88a76"
- ]
- ]
- },
- {
- "id":"293d1a40.e88a76",
- "type":"method",
- "name":"network-topology-operation",
- "xml":"<method rpc='network-topology-operation' mode='sync'>\n",
- "comments":"",
- "outputs":1,
- "x":199.0952911376953,
- "y":180.41364985704422,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "6c71864c.68b0b8"
- ]
- ]
- },
- {
- "id":"6808a800.72f6b8",
- "type":"comment",
- "name":" NETWORK-TOPOLOGY-OPERATION ",
- "info":"",
- "comments":"",
- "x":515.0115203857422,
- "y":47.99999934434891,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"6c71864c.68b0b8",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":234.66669464111328,
- "y":263.85713893175125,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "a683a74d.bbfcd8",
- "ec781a98.809e88",
- "d4adb7b5.a74888",
- "a12d09b7.6dc858"
- ]
- ]
- },
- {
- "id":"a683a74d.bbfcd8",
- "type":"returnSuccess",
- "name":"return success",
- "xml":"<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
- "comments":"",
- "x":464.7500534057617,
- "y":887.6997750401497,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"ec781a98.809e88",
- "type":"switchNode",
- "name":"switch svc-action",
- "xml":"<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments":"",
- "outputs":1,
- "x":461.3809280395508,
- "y":494.2708333134651,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "4dfadbed.777bc4",
- "55daa54f.4836ec",
- "5c025596.ae8c5c",
- "67e93f6e.2c897",
- "24132a9d.396786",
- "29d750bd.02a64",
- "e6eca3d3.abe59"
- ]
- ]
- },
- {
- "id":"4dfadbed.777bc4",
- "type":"other",
- "name":"assign",
- "xml":"<outcome value='assign'>\n",
- "comments":"",
- "outputs":1,
- "x":681.8571243286133,
- "y":270.556483566761,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "fc28dd4a.e1c57"
- ]
- ]
- },
- {
- "id":"fc28dd4a.e1c57",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":863.0952835083008,
- "y":271.5566056370735,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "82d45ba2.1d8bc8"
- ]
- ]
- },
- {
- "id":"d4adb7b5.a74888",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:validate-network-input",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":593.6666793823242,
- "y":206.41373187303543,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"82d45ba2.1d8bc8",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:network-topology-operation-assign",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":1234.666633605957,
- "y":268.413661301136,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"55daa54f.4836ec",
- "type":"other",
- "name":"activate",
- "xml":"<outcome value='activate'>\n",
- "comments":"",
- "outputs":1,
- "x":683.6666641235352,
- "y":444.4136555790901,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "67566173.45c4c"
- ]
- ]
- },
- {
- "id":"627cdb56.3b7234",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":1220.9048233032227,
- "y":441.4138920903206,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "2132e234.e510ce",
- "a3ddfe15.bee34"
- ]
- ]
- },
- {
- "id":"6e5c6d24.81c194",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:network-topology-operation-activate",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":2266.476234436035,
- "y":570.2708275914192,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"5c025596.ae8c5c",
- "type":"other",
- "name":"deactivate",
- "xml":"<outcome value='deactivate'>\n",
- "comments":"",
- "outputs":1,
- "x":672.6666641235352,
- "y":604.4136803746223,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "2deb4375.385a5c"
- ]
- ]
- },
- {
- "id":"2deb4375.385a5c",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":860.9050216674805,
- "y":603.4140033721924,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "2132e234.e510ce",
- "1d159242.42217e"
- ]
- ]
- },
- {
- "id":"d02489f7.8cbe58",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:network-topology-operation-deactivate",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":2458.9762954711914,
- "y":734.0208568572998,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"67e93f6e.2c897",
- "type":"other",
- "name":"unassign",
- "xml":"<outcome value='unassign'>\n",
- "comments":"",
- "outputs":1,
- "x":680.6666641235352,
- "y":669.4136803746223,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "a5a4cbe4.928108"
- ]
- ]
- },
- {
- "id":"a5a4cbe4.928108",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":861.9048233032227,
- "y":670.4138024449348,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "2132e234.e510ce",
- "8cb9d01a.01cbb"
- ]
- ]
- },
- {
- "id":"76ad4a39.0cc194",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:network-topology-operation-unassign",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":2013.7261428833008,
- "y":835.7708275914192,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"24132a9d.396786",
- "type":"other",
- "name":"other",
- "xml":"<outcome value='Other'>\n",
- "comments":"",
- "outputs":1,
- "x":671.6666679382324,
- "y":729.4136708378792,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "e05b3a0e.6b2cf8"
- ]
- ]
- },
- {
- "id":"e05b3a0e.6b2cf8",
- "type":"returnFailure",
- "name":"return failure",
- "xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
- "comments":"",
- "x":853.6666641235352,
- "y":728.4136803746223,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"a12d09b7.6dc858",
- "type":"set",
- "name":"Set final indicator to Y",
- "xml":"<set>\n<parameter name=\"ack-final\" value=\"Y\"/>",
- "comments":"",
- "x":483.77774810791016,
- "y":846.8581135869026,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"9acad2b9.f0834",
- "type":"for",
- "name":"for nidx..service-data.networks.network[]",
- "xml":"<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
- "comments":"",
- "outputs":1,
- "x":2220.3970260620117,
- "y":480.1755822300911,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "329c7937.b6a136"
- ]
- ]
- },
- {
- "id":"2132e234.e510ce",
- "type":"switchNode",
- "name":"switch service-data.networks.network_length",
- "xml":"<switch test='`$service-data.networks.network_length`'>\n",
- "comments":"",
- "outputs":1,
- "x":1527.1111221313477,
- "y":439.74696284532547,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "4172c482.3f5a6c",
- "d4b9b393.99ada"
- ]
- ]
- },
- {
- "id":"4172c482.3f5a6c",
- "type":"other",
- "name":"outcome Null",
- "xml":"<outcome value=''>\n",
- "comments":"",
- "outputs":1,
- "x":1800.1111602783203,
- "y":438.747027695179,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "29641469.ee90fc"
- ]
- ]
- },
- {
- "id":"d4b9b393.99ada",
- "type":"other",
- "name":"other",
- "xml":"<outcome value='Other'>\n",
- "comments":"",
- "outputs":1,
- "x":1780.111484527588,
- "y":478.74703246355057,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "1bb6dea1.ed18f1"
- ]
- ]
- },
- {
- "id":"329c7937.b6a136",
- "type":"switchNode",
- "name":"switch networkid found",
- "xml":"<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
- "comments":"",
- "outputs":1,
- "x":2510.8255767822266,
- "y":479.42566615343094,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "af5c385d.aaa198"
- ]
- ]
- },
- {
- "id":"af5c385d.aaa198",
- "type":"outcomeTrue",
- "name":"true",
- "xml":"<outcome value='true'>\n",
- "comments":"",
- "outputs":1,
- "x":2699.777931213379,
- "y":480.3184044957161,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "7a7e1001.3b10e"
- ]
- ]
- },
- {
- "id":"7a7e1001.3b10e",
- "type":"set",
- "name":"set tmp.nidx and ctx.network-data",
- "xml":"<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\n",
- "comments":"",
- "x":2933.309700012207,
- "y":479.0684121251106,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"a849a7c.367a458",
- "type":"comment",
- "name":"Find the index to service data for this network - save id in tmp.nidx, save service-data",
- "info":"",
- "comments":"",
- "x":1473.2224578857422,
- "y":403.7470243573189,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"be0b87cc.facda8",
- "type":"comment",
- "name":"service-data will not be stored until we have a network-id",
- "info":"",
- "comments":"",
- "x":1202.3332595825195,
- "y":236.63589030504227,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"29641469.ee90fc",
- "type":"returnFailure",
- "name":"return failure",
- "xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
- "comments":"",
- "x":1961.8886184692383,
- "y":439.63597041368484,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"1bb6dea1.ed18f1",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":1918.3810577392578,
- "y":479.3015702366829,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "9acad2b9.f0834",
- "cf1a68d3.1547a8"
- ]
- ]
- },
- {
- "id":"cf1a68d3.1547a8",
- "type":"switchNode",
- "name":"switch tmp.nidx ",
- "xml":"<switch test=\"`$tmp.nidx`\">\n\n",
- "comments":"",
- "outputs":1,
- "x":2138.698455810547,
- "y":522.1587889790535,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "5e666501.228a8c"
- ]
- ]
- },
- {
- "id":"b312a9fc.605418",
- "type":"returnFailure",
- "name":"return failure",
- "xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
- "comments":"",
- "x":2491.5554389953613,
- "y":517.8730309605598,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"5e666501.228a8c",
- "type":"outcome",
- "name":"NULL",
- "xml":"<outcome value=''>\n",
- "comments":"",
- "outputs":1,
- "x":2310.1269912719727,
- "y":520.7301743626595,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "b312a9fc.605418"
- ]
- ]
- },
- {
- "id":"a3ddfe15.bee34",
- "type":"switchNode",
- "name":"switch network-level-oper-status",
- "xml":"<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
- "comments":"",
- "outputs":1,
- "x":1479.444465637207,
- "y":570.2222283482552,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "671fe44a.883fcc",
- "619f5c4e.da9664"
- ]
- ]
- },
- {
- "id":"671fe44a.883fcc",
- "type":"outcome",
- "name":"outcome PendingCreate",
- "xml":"<outcome value='PendingCreate'>\n",
- "comments":"",
- "outputs":1,
- "x":1844.4444452921543,
- "y":570.222213089466,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "6e5c6d24.81c194"
- ]
- ]
- },
- {
- "id":"619f5c4e.da9664",
- "type":"other",
- "name":"other",
- "xml":"<outcome value='Other'>\n",
- "comments":"",
- "outputs":1,
- "x":1794.444492340088,
- "y":610.2222436070442,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "ddaa51b4.1a3e6"
- ]
- ]
- },
- {
- "id":"ddaa51b4.1a3e6",
- "type":"returnFailure",
- "name":"return failure",
- "xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
- "comments":"",
- "x":1964.444492340088,
- "y":610.2222436070442,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"1d159242.42217e",
- "type":"switchNode",
- "name":"switch network-level-oper-status",
- "xml":"<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
- "comments":"",
- "outputs":1,
- "x":1225.7460136413574,
- "y":670.1736888885498,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "666ae4b6.332edc",
- "a7398342.dc0f5"
- ]
- ]
- },
- {
- "id":"666ae4b6.332edc",
- "type":"outcome",
- "name":"outcome Created",
- "xml":"<outcome value='Created'>\n",
- "comments":"",
- "outputs":1,
- "x":1588.7459831237793,
- "y":670.1737194061279,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "fc61673.76cb698"
- ]
- ]
- },
- {
- "id":"a7398342.dc0f5",
- "type":"other",
- "name":"other",
- "xml":"<outcome value='Other'>\n",
- "comments":"",
- "outputs":1,
- "x":1558.7459831237793,
- "y":710.1737194061279,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "6900f252.7fffdc"
- ]
- ]
- },
- {
- "id":"6900f252.7fffdc",
- "type":"returnFailure",
- "name":"return failure",
- "xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
- "comments":"",
- "x":1724.7459831237793,
- "y":712.1737194061279,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"8cb9d01a.01cbb",
- "type":"switchNode",
- "name":"switch network-level-oper-status",
- "xml":"<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
- "comments":"",
- "outputs":1,
- "x":1220.5475234985352,
- "y":837.375029861927,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "c260be3c.787a4",
- "3745164.07306ea",
- "aa12305c.9840f"
- ]
- ]
- },
- {
- "id":"c260be3c.787a4",
- "type":"outcome",
- "name":"outcome PendingCreate",
- "xml":"<outcome value='PendingCreate'>\n",
- "comments":"",
- "outputs":1,
- "x":1580.547492980957,
- "y":837.3750603795052,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "76ad4a39.0cc194"
- ]
- ]
- },
- {
- "id":"3745164.07306ea",
- "type":"other",
- "name":"other",
- "xml":"<outcome value='Other'>\n",
- "comments":"",
- "outputs":1,
- "x":1537.5474319458008,
- "y":921.3750756382942,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "609493c3.1dc45c"
- ]
- ]
- },
- {
- "id":"609493c3.1dc45c",
- "type":"returnFailure",
- "name":"return failure",
- "xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
- "comments":"",
- "x":1728.8808517456055,
- "y":920.0417044758797,
- "z":"d739160d.215ac8",
- "wires":[
-
- ]
- },
- {
- "id":"aa12305c.9840f",
- "type":"outcome",
- "name":"outcome PendingDelete",
- "xml":"<outcome value='PendingDelete'>\n",
- "comments":"",
- "outputs":1,
- "x":1583.777717590332,
- "y":875.2222283482552,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "76ad4a39.0cc194"
- ]
- ]
- },
- {
- "id":"29d750bd.02a64",
- "type":"other",
- "name":"create",
- "xml":"<outcome value='create'>\n",
- "comments":"",
- "outputs":1,
- "x":669.119026184082,
- "y":788.9999993443489,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "8872f98e.6acb58"
- ]
- ]
- },
- {
- "id":"e6eca3d3.abe59",
- "type":"other",
- "name":"delete",
- "xml":"<outcome value='delete'>\n",
- "comments":"",
- "outputs":1,
- "x":672.119026184082,
- "y":841.9999993443489,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "9bd83beb.090958"
- ]
- ]
- },
- {
- "id":"8872f98e.6acb58",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":858.119026184082,
- "y":794.9999993443489,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "1974de99.132ea1"
- ]
- ]
- },
- {
- "id":"9bd83beb.090958",
- "type":"block",
- "name":"block : atomic",
- "xml":"<block atomic=\"true\">",
- "atomic":"true",
- "outputs":1,
- "x":857.119026184082,
- "y":853.9999993443489,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "bedc898b.68ec58"
- ]
- ]
- },
- {
- "id":"1974de99.132ea1",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:network-topology-operation-create",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":1266.119026184082,
- "y":979.9999993443489,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"bedc898b.68ec58",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:network-topology-operation-delete",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":1272.119026184082,
- "y":1062.999999344349,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"67566173.45c4c",
- "type":"switchNode",
- "name":"switch request-action",
- "xml":"<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
- "comments":"",
- "outputs":1,
- "x":868.3178939819336,
- "y":424.7314217686653,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "18ffc8df.333407",
- "4f680131.8475e"
- ]
- ]
- },
- {
- "id":"18ffc8df.333407",
- "type":"outcome",
- "name":"ActivateDCINetworkInstance",
- "xml":"<outcome value='ActivateDCINetworkInstance'>",
- "comments":"",
- "outputs":1,
- "x":1110.6511611938477,
- "y":346.7312348484993,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "73585281.0c5d0c"
- ]
- ]
- },
- {
- "id":"4f680131.8475e",
- "type":"outcome",
- "name":"other",
- "xml":"<outcome value='other'>",
- "comments":"",
- "outputs":1,
- "x":1040.6511535644531,
- "y":472.3979313969612,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "627cdb56.3b7234"
- ]
- ]
- },
- {
- "id":"73585281.0c5d0c",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:dci-connects-network-topology-operation-activate",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":1534.6511764526367,
- "y":346.3981040120125,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"fc61673.76cb698",
- "type":"switchNode",
- "name":"switch request-action",
- "xml":"<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
- "comments":"",
- "outputs":1,
- "x":1863.333251953125,
- "y":668.3333129882812,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "96fbac31.d3f4f",
- "3bd184d4.cd8cbc"
- ]
- ]
- },
- {
- "id":"96fbac31.d3f4f",
- "type":"outcome",
- "name":"DeActivateDCINetworkInstance",
- "xml":"<outcome value='DeActivateDCINetworkInstance'>",
- "comments":"",
- "outputs":1,
- "x":2133.66650390625,
- "y":678.3332042694092,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "5f435227.66b5dc"
- ]
- ]
- },
- {
- "id":"5f435227.66b5dc",
- "type":"call",
- "name":"call GENERIC-RESOURCE-API:dci-connects-network-topology-operation-deactivate",
- "xml":"<call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' >\n",
- "comments":"",
- "outputs":1,
- "x":2608.6667251586914,
- "y":677.0000224113464,
- "z":"d739160d.215ac8",
- "wires":[
- [
-
- ]
- ]
- },
- {
- "id":"3bd184d4.cd8cbc",
- "type":"other",
- "name":"other",
- "xml":"<outcome value='Other'>\n",
- "comments":"",
- "outputs":1,
- "x":2056.3333435058594,
- "y":736.3333549499512,
- "z":"d739160d.215ac8",
- "wires":[
- [
- "d02489f7.8cbe58"
- ]
- ]
- }
+ {
+ "id": "22447bb.ca1b884",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 152.00390625,
+ "y": 98.41365623474121,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "466f0033.35cb7"
+ ]
+ ]
+ },
+ {
+ "id": "466f0033.35cb7",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 233.95626831054688,
+ "y": 138.6517686843872,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "72c0d062.bcd76"
+ ]
+ ]
+ },
+ {
+ "id": "72c0d062.bcd76",
+ "type": "method",
+ "name": "network-topology-operation",
+ "xml": "<method rpc='network-topology-operation' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 230.43253326416016,
+ "y": 178.4136505126953,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "eb6b1875.0a05c8"
+ ]
+ ]
+ },
+ {
+ "id": "5bad23a2.6ab6cc",
+ "type": "comment",
+ "name": " NETWORK-TOPOLOGY-OPERATION ",
+ "info": "",
+ "comments": "",
+ "x": 546.348762512207,
+ "y": 46,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "eb6b1875.0a05c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 266.0039367675781,
+ "y": 261.85713958740234,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "800f4458.13e0e8",
+ "69a90e48.698e4",
+ "5d15a28a.f8b28c",
+ "1c731b73.ad5485"
+ ]
+ ]
+ },
+ {
+ "id": "800f4458.13e0e8",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 496.08729553222656,
+ "y": 885.6997756958008,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "69a90e48.698e4",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 492.7181701660156,
+ "y": 492.2708339691162,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "7c51d92d.ac3558",
+ "c0f563da.45066",
+ "bcd7f689.e68068",
+ "a339fa13.cef888",
+ "f32b6746.ab2ac8",
+ "65bec383.089c6c",
+ "13d33f80.29ff51"
+ ]
+ ]
+ },
+ {
+ "id": "7c51d92d.ac3558",
+ "type": "other",
+ "name": "assign",
+ "xml": "<outcome value='assign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 713.1943664550781,
+ "y": 268.5564842224121,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "9275b2f9.0f7e1"
+ ]
+ ]
+ },
+ {
+ "id": "9275b2f9.0f7e1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 894.4325256347656,
+ "y": 269.5566062927246,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "325fdcb1.4a6014"
+ ]
+ ]
+ },
+ {
+ "id": "5d15a28a.f8b28c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:validate-network-input",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 625.0039215087891,
+ "y": 204.41373252868652,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "325fdcb1.4a6014",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:network-topology-operation-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1253.7816772460938,
+ "y": 189.7470084587112,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "c0f563da.45066",
+ "type": "other",
+ "name": "activate",
+ "xml": "<outcome value='activate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 715.00390625,
+ "y": 442.4136562347412,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "61d3baaf.004a44"
+ ]
+ ]
+ },
+ {
+ "id": "7e513616.123088",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1252.2420654296875,
+ "y": 439.4138927459717,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "ae258a82.33a2e8",
+ "8bbc4549.c2c348"
+ ]
+ ]
+ },
+ {
+ "id": "7dc76c81.46ae84",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:network-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2297.8134765625,
+ "y": 568.2708282470703,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "bcd7f689.e68068",
+ "type": "other",
+ "name": "deactivate",
+ "xml": "<outcome value='deactivate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 704.00390625,
+ "y": 602.4136810302734,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "a90bb735.783aa8"
+ ]
+ ]
+ },
+ {
+ "id": "a90bb735.783aa8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 892.2422637939453,
+ "y": 601.4140040278435,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "b5b1cc7d.0a9d8"
+ ]
+ ]
+ },
+ {
+ "id": "483724bf.a7dffc",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:network-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2465.8691635131836,
+ "y": 853.131984368898,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "a339fa13.cef888",
+ "type": "other",
+ "name": "unassign",
+ "xml": "<outcome value='unassign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 712.00390625,
+ "y": 667.4136810302734,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "c4bb456b.36d518"
+ ]
+ ]
+ },
+ {
+ "id": "c4bb456b.36d518",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 893.2420654296875,
+ "y": 668.4138031005859,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "ae258a82.33a2e8",
+ "b9288b8f.f7a128"
+ ]
+ ]
+ },
+ {
+ "id": "545822dc.aecafc",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:network-topology-operation-unassign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2040.618911743164,
+ "y": 890.4374882141128,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "f32b6746.ab2ac8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 703.0039100646973,
+ "y": 727.4136714935303,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "43654f47.8db24"
+ ]
+ ]
+ },
+ {
+ "id": "43654f47.8db24",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
+ "comments": "",
+ "x": 885.00390625,
+ "y": 726.4136810302734,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1c731b73.ad5485",
+ "type": "set",
+ "name": "Set final indicator to Y",
+ "xml": "<set>\n<parameter name=\"ack-final\" value=\"Y\"/>",
+ "comments": "",
+ "x": 515.114990234375,
+ "y": 844.8581142425537,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5f07f64.621f908",
+ "type": "for",
+ "name": "for nidx..service-data.networks.network[]",
+ "xml": "<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2251.7342681884766,
+ "y": 478.1755828857422,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "bcc0c33e.bd395"
+ ]
+ ]
+ },
+ {
+ "id": "ae258a82.33a2e8",
+ "type": "switchNode",
+ "name": "switch service-data.networks.network_length",
+ "xml": "<switch test='`$service-data.networks.network_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1558.4483642578125,
+ "y": 437.74696350097656,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "a9e39ffc.d6d6e",
+ "881da1f.33e4b6"
+ ]
+ ]
+ },
+ {
+ "id": "a9e39ffc.d6d6e",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1831.4484024047852,
+ "y": 436.7470283508301,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "77cc77c5.b2f928"
+ ]
+ ]
+ },
+ {
+ "id": "881da1f.33e4b6",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1811.4487266540527,
+ "y": 476.74703311920166,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "86bde218.2b981"
+ ]
+ ]
+ },
+ {
+ "id": "bcc0c33e.bd395",
+ "type": "switchNode",
+ "name": "switch networkid found",
+ "xml": "<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2542.1628189086914,
+ "y": 477.42566680908203,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "7c46a173.c9d7a"
+ ]
+ ]
+ },
+ {
+ "id": "7c46a173.c9d7a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2731.1151733398438,
+ "y": 478.3184051513672,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "82887486.a7b018"
+ ]
+ ]
+ },
+ {
+ "id": "82887486.a7b018",
+ "type": "set",
+ "name": "set tmp.nidx and ctx.network-data",
+ "xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\n",
+ "comments": "",
+ "x": 2964.646942138672,
+ "y": 477.0684127807617,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a24ee0c5.d21c5",
+ "type": "comment",
+ "name": "Find the index to service data for this network - save id in tmp.nidx, save service-data",
+ "info": "",
+ "comments": "",
+ "x": 1504.559700012207,
+ "y": 401.74702501296997,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5e45bf.f8a18a4",
+ "type": "comment",
+ "name": "service-data will not be stored until we have a network-id",
+ "info": "",
+ "comments": "",
+ "x": 1221.4483032226562,
+ "y": 157.96923746261746,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "77cc77c5.b2f928",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1993.2258605957031,
+ "y": 437.63597106933594,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "86bde218.2b981",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1949.7182998657227,
+ "y": 477.301570892334,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "5f07f64.621f908",
+ "385983c7.9f2b7c"
+ ]
+ ]
+ },
+ {
+ "id": "385983c7.9f2b7c",
+ "type": "switchNode",
+ "name": "switch tmp.nidx ",
+ "xml": "<switch test=\"`$tmp.nidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2170.0356979370117,
+ "y": 520.1587896347046,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "f85ca643.8fb898"
+ ]
+ ]
+ },
+ {
+ "id": "cdb52735.90dc68",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 2522.892681121826,
+ "y": 515.8730316162109,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f85ca643.8fb898",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2341.4642333984375,
+ "y": 518.7301750183105,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "cdb52735.90dc68"
+ ]
+ ]
+ },
+ {
+ "id": "8bbc4549.c2c348",
+ "type": "switchNode",
+ "name": "switch network-level-oper-status",
+ "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1510.7817077636719,
+ "y": 568.2222290039062,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "6e122dc8.532934",
+ "22b32187.96be8e"
+ ]
+ ]
+ },
+ {
+ "id": "6e122dc8.532934",
+ "type": "outcome",
+ "name": "outcome PendingCreate",
+ "xml": "<outcome value='PendingCreate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1875.7816874186192,
+ "y": 568.2222137451171,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "7dc76c81.46ae84"
+ ]
+ ]
+ },
+ {
+ "id": "22b32187.96be8e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1825.7817344665527,
+ "y": 608.2222442626953,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "c7f8345d.b6f678"
+ ]
+ ]
+ },
+ {
+ "id": "c7f8345d.b6f678",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
+ "comments": "",
+ "x": 1995.7817344665527,
+ "y": 608.2222442626953,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "634dd574.9447fc",
+ "type": "switchNode",
+ "name": "switch network-level-oper-status",
+ "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1243.7500381469727,
+ "y": 794.8403650242835,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "7b4cd5b5.65915c",
+ "e12f8291.e5f2d"
+ ]
+ ]
+ },
+ {
+ "id": "7b4cd5b5.65915c",
+ "type": "outcome",
+ "name": "outcome Created",
+ "xml": "<outcome value='Created'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1595.6388511657715,
+ "y": 789.2848469177261,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "8d2e1f53.0a094"
+ ]
+ ]
+ },
+ {
+ "id": "e12f8291.e5f2d",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1565.6388511657715,
+ "y": 829.2848469177261,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "5b7b9e1a.0f623"
+ ]
+ ]
+ },
+ {
+ "id": "5b7b9e1a.0f623",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
+ "comments": "",
+ "x": 1731.6388511657715,
+ "y": 831.2848469177261,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b9288b8f.f7a128",
+ "type": "switchNode",
+ "name": "switch network-level-oper-status",
+ "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1247.4402923583984,
+ "y": 892.0416904846206,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "83977ad2.652058",
+ "4164bd1d.d21fe4",
+ "9708ceab.b495d"
+ ]
+ ]
+ },
+ {
+ "id": "83977ad2.652058",
+ "type": "outcome",
+ "name": "outcome PendingCreate",
+ "xml": "<outcome value='PendingCreate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1607.4402618408203,
+ "y": 892.0417210021988,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "545822dc.aecafc"
+ ]
+ ]
+ },
+ {
+ "id": "4164bd1d.d21fe4",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1564.440200805664,
+ "y": 976.0417362609878,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "73868aa3.1c8774"
+ ]
+ ]
+ },
+ {
+ "id": "73868aa3.1c8774",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
+ "comments": "",
+ "x": 1755.7736206054688,
+ "y": 974.7083650985733,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9708ceab.b495d",
+ "type": "outcome",
+ "name": "outcome PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1610.6704864501953,
+ "y": 929.8888889709488,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "545822dc.aecafc"
+ ]
+ ]
+ },
+ {
+ "id": "65bec383.089c6c",
+ "type": "other",
+ "name": "create",
+ "xml": "<outcome value='create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 700.4562683105469,
+ "y": 787,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "854868fb.692c98"
+ ]
+ ]
+ },
+ {
+ "id": "13d33f80.29ff51",
+ "type": "other",
+ "name": "delete",
+ "xml": "<outcome value='delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 703.4562683105469,
+ "y": 840,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "eefbd503.989fd8"
+ ]
+ ]
+ },
+ {
+ "id": "509a1330.098dbc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1340.567497253418,
+ "y": 1081.8888937393203,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "fc73b84f.5d78c8"
+ ]
+ ]
+ },
+ {
+ "id": "8263c76f.199698",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1314.0119552612305,
+ "y": 1236.4444319168106,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "bd3a896d.c04468"
+ ]
+ ]
+ },
+ {
+ "id": "fc73b84f.5d78c8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:network-topology-operation-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1705.2339935302734,
+ "y": 1081.3335157791153,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "bd3a896d.c04468",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:network-topology-operation-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1679.0118789672852,
+ "y": 1235.4443603912368,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "61d3baaf.004a44",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 899.6551361083984,
+ "y": 422.7314224243164,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "a1424008.31d3d",
+ "9be2b7c3.9aa0b8",
+ "9d7d6a23.ac4a28"
+ ]
+ ]
+ },
+ {
+ "id": "a1424008.31d3d",
+ "type": "outcome",
+ "name": "ActivateDCINetworkInstance",
+ "xml": "<outcome value='ActivateDCINetworkInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1141.9884033203125,
+ "y": 344.7312355041504,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "3098b58e.59145a"
+ ]
+ ]
+ },
+ {
+ "id": "9be2b7c3.9aa0b8",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1071.988395690918,
+ "y": 470.3979320526123,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "7e513616.123088"
+ ]
+ ]
+ },
+ {
+ "id": "3098b58e.59145a",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:dci-connects-network-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1565.9884185791016,
+ "y": 342.3981046676636,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "8d2e1f53.0a094",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1870.2261199951172,
+ "y": 787.4444404998794,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "aaaa0d61.3eb52",
+ "65bd4c29.44c284"
+ ]
+ ]
+ },
+ {
+ "id": "aaaa0d61.3eb52",
+ "type": "outcome",
+ "name": "DeActivateDCINetworkInstance",
+ "xml": "<outcome value='DeActivateDCINetworkInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2140.559371948242,
+ "y": 797.4443317810073,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "db97de83.50799"
+ ]
+ ]
+ },
+ {
+ "id": "db97de83.50799",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:dci-connects-network-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2615.5595932006836,
+ "y": 796.1111499229446,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "65bd4c29.44c284",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2063.2262115478516,
+ "y": 855.4444824615493,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "483724bf.a7dffc"
+ ]
+ ]
+ },
+ {
+ "id": "9d7d6a23.ac4a28",
+ "type": "outcome",
+ "name": "ActivateSOTNConnectivityInstance",
+ "xml": "<outcome value='ActivateSOTNConnectivityInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1141.2261047363281,
+ "y": 276.3202238082886,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "a046f39e.31874"
+ ]
+ ]
+ },
+ {
+ "id": "a046f39e.31874",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1566.4482612609863,
+ "y": 272.5547663131729,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "854868fb.692c98",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 899.7700729370117,
+ "y": 793.7777611175552,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "52fa6311.1fcbbc",
+ "873a6681.0ace38"
+ ]
+ ]
+ },
+ {
+ "id": "52fa6311.1fcbbc",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1158.7700309753418,
+ "y": 1083.6665073791519,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "509a1330.098dbc"
+ ]
+ ]
+ },
+ {
+ "id": "873a6681.0ace38",
+ "type": "outcome",
+ "name": "CreateSOTNConnectivityInstance",
+ "xml": "<outcome value='CreateSOTNConnectivityInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1226.4368057250977,
+ "y": 1020.4444471755996,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "2beb5ff2.5f47"
+ ]
+ ]
+ },
+ {
+ "id": "2beb5ff2.5f47",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1705.3256225585938,
+ "y": 1022.6666294494644,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "99f01de7.cef63",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1136.1036529541016,
+ "y": 680.913647309877,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "d8572f1b.9bba2"
+ ]
+ ]
+ },
+ {
+ "id": "eefbd503.989fd8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 902.7446212768555,
+ "y": 1002.060903207399,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "939da72d.b0ff98",
+ "bda71ad3.e6fc18"
+ ]
+ ]
+ },
+ {
+ "id": "bda71ad3.e6fc18",
+ "type": "outcome",
+ "name": "DeleteSOTNConnectivityInstance",
+ "xml": "<outcome value='DeleteSOTNConnectivityInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1223.855857849121,
+ "y": 1177.6164580741897,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "b6f5f0d5.a2a9f"
+ ]
+ ]
+ },
+ {
+ "id": "b6f5f0d5.a2a9f",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1702.7446746826172,
+ "y": 1179.8386403480545,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "939da72d.b0ff98",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1156.1890830993652,
+ "y": 1240.838518277742,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "8263c76f.199698"
+ ]
+ ]
+ },
+ {
+ "id": "3a846b42.3e5f44",
+ "type": "comment",
+ "name": "SOTN: Activate VPN Instance",
+ "info": "",
+ "comments": "",
+ "x": 1137.1890716552734,
+ "y": 239.22145618591458,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8bda633.fc2eba",
+ "type": "comment",
+ "name": "SOTN: DeActivate VPN Instance",
+ "info": "",
+ "comments": "",
+ "x": 1676.0778427124023,
+ "y": 653.6658955970779,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "249eb98b.1011c6",
+ "type": "comment",
+ "name": "SOTN: Create VPN Instance",
+ "info": "",
+ "comments": "",
+ "x": 1234.9667892456055,
+ "y": 985.7645775238052,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1f1ad24f.997f4e",
+ "type": "comment",
+ "name": "SOTN: Delete VPN Instance",
+ "info": "",
+ "comments": "",
+ "x": 1226.0778732299805,
+ "y": 1142.1843162933365,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b5b1cc7d.0a9d8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1110.8812065124512,
+ "y": 605.9999634185806,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "a4048448.f587c8",
+ "99f01de7.cef63"
+ ]
+ ]
+ },
+ {
+ "id": "f7556427.fd2d08",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1811.0160217285156,
+ "y": 686.5053612152115,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "a4048448.f587c8",
+ "type": "outcome",
+ "name": "DeactivateSOTNConnectivityInstance",
+ "xml": "<outcome value='DeactivateSOTNConnectivityInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1385.6588706970215,
+ "y": 608.2220562854782,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "f7556427.fd2d08"
+ ]
+ ]
+ },
+ {
+ "id": "d8572f1b.9bba2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1300.8811264038086,
+ "y": 682.6666122833267,
+ "z": "9e6cde1a.0ef11",
+ "wires": [
+ [
+ "634dd574.9447fc",
+ "ae258a82.33a2e8"
+ ]
+ ]
+ }
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json
new file mode 100644
index 00000000..c640ab5b
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json
@@ -0,0 +1,816 @@
+[
+ {
+ "id": "8213d9f3.3e3b78",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 134.01040649414062,
+ "y": 78.01041412353516,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "3fd007b3.454158"
+ ]
+ ]
+ },
+ {
+ "id": "3fd007b3.454158",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 209.29611206054688,
+ "y": 118.24852561950684,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "f3d8ce84.4fd8"
+ ]
+ ]
+ },
+ {
+ "id": "f3d8ce84.4fd8",
+ "type": "method",
+ "name": "method site-vnf-topology-operation-activate",
+ "xml": "<method rpc='site-vnf-topology-operation-activate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 230.43902587890625,
+ "y": 208.01041412353516,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "931047c0.e29ba8"
+ ]
+ ]
+ },
+ {
+ "id": "931047c0.e29ba8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 210.67707061767578,
+ "y": 379.67708587646484,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "87b79277.d3a8",
+ "443f31de.8f2cf",
+ "e48e518f.1dc2a",
+ "4a014615.6e9cf8",
+ "bf95d9ae.8087f8",
+ "c850e5af.e42fa8",
+ "b4c6f1a.73d561",
+ "d7008318.12e1b",
+ "3993fb6.79aca04",
+ "2b37bcac.68f084"
+ ]
+ ]
+ },
+ {
+ "id": "87b79277.d3a8",
+ "type": "for",
+ "name": "for loop i - VNF input parameters",
+ "xml": "<for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 663.1151428222656,
+ "y": 267.0782470703125,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "73aa520a.b2adbc"
+ ]
+ ]
+ },
+ {
+ "id": "73aa520a.b2adbc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 909.893337726593,
+ "y": 267.6338765351102,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "ac680e81.777c9",
+ "27ece0ee.53311",
+ "2e9d64a5.63180c",
+ "ad341ac7.a856e8",
+ "43160102.ca0c8",
+ "8a88d2d2.3cbb4"
+ ]
+ ]
+ },
+ {
+ "id": "ac680e81.777c9",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1115.1152267456055,
+ "y": 222.63385391235352,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "f0bc6f88.f42a7"
+ ]
+ ]
+ },
+ {
+ "id": "f0bc6f88.f42a7",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1302.1152267456055,
+ "y": 218.63385391235352,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "a80ac0f1.029e7"
+ ]
+ ]
+ },
+ {
+ "id": "a80ac0f1.029e7",
+ "type": "set",
+ "name": "set name",
+ "xml": "<set>\n<parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1470.1152267456055,
+ "y": 219.23386001586914,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "27ece0ee.53311",
+ "type": "switchNode",
+ "name": "switch description",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1132.9549446105957,
+ "y": 265.63384914398193,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "3c96f97e.2329d6"
+ ]
+ ]
+ },
+ {
+ "id": "3c96f97e.2329d6",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1319.9549446105957,
+ "y": 261.63384914398193,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "38a8969d.eda21a"
+ ]
+ ]
+ },
+ {
+ "id": "38a8969d.eda21a",
+ "type": "set",
+ "name": "set description",
+ "xml": "<set>\n<parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1481.2884254455566,
+ "y": 261.09500885009766,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2e9d64a5.63180c",
+ "type": "switchNode",
+ "name": "switch location",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1123.04105758667,
+ "y": 308.0411911010742,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "4384d4ab.76bf6c"
+ ]
+ ]
+ },
+ {
+ "id": "4384d4ab.76bf6c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.04105758667,
+ "y": 304.0411911010742,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "3079a852.4cd8f8"
+ ]
+ ]
+ },
+ {
+ "id": "3079a852.4cd8f8",
+ "type": "set",
+ "name": "set location",
+ "xml": "<set>\n<parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1478.04105758667,
+ "y": 304.64119720458984,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ad341ac7.a856e8",
+ "type": "switchNode",
+ "name": "switch id",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1113.0103759765625,
+ "y": 176.607177734375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "653e71ed.565a9"
+ ]
+ ]
+ },
+ {
+ "id": "653e71ed.565a9",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1300.0103759765625,
+ "y": 172.607177734375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "2466a0b0.31d85"
+ ]
+ ]
+ },
+ {
+ "id": "2466a0b0.31d85",
+ "type": "set",
+ "name": "set id",
+ "xml": "<set>\n<parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1468.0103759765625,
+ "y": 173.20718383789062,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "43160102.ca0c8",
+ "type": "switchNode",
+ "name": "switch type",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1122.0103759765625,
+ "y": 351.60717010498047,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "5f80b289.c102cc"
+ ]
+ ]
+ },
+ {
+ "id": "5f80b289.c102cc",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.0103759765625,
+ "y": 347.60717010498047,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "123b0821.89fa08"
+ ]
+ ]
+ },
+ {
+ "id": "123b0821.89fa08",
+ "type": "set",
+ "name": "set type & sdwan.site",
+ "xml": "<set>\n<parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />",
+ "comments": "",
+ "x": 1507.0103759765625,
+ "y": 347.2071838378906,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8a88d2d2.3cbb4",
+ "type": "switchNode",
+ "name": "switch role",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1125.0103759765625,
+ "y": 394.60717010498047,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "dbc514.9b453af"
+ ]
+ ]
+ },
+ {
+ "id": "dbc514.9b453af",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1312.0103759765625,
+ "y": 390.60717010498047,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "78dc31fa.1149c"
+ ]
+ ]
+ },
+ {
+ "id": "78dc31fa.1149c",
+ "type": "set",
+ "name": "set role & sdwan.site",
+ "xml": "<set>\n<parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />\n",
+ "comments": "",
+ "x": 1520.0103759765625,
+ "y": 390.2071838378906,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "443f31de.8f2cf",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 671,
+ "y": 69,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "d2748c44.5140a",
+ "132b0e47.fe6172",
+ "6c7ae40f.24628c"
+ ]
+ ]
+ },
+ {
+ "id": "d2748c44.5140a",
+ "type": "other",
+ "name": "Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1084,
+ "y": 62.00006103515625,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "910f30c.abfcad"
+ ]
+ ]
+ },
+ {
+ "id": "910f30c.abfcad",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1302.7774658203125,
+ "y": 37.889007568359375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "132b0e47.fe6172",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 996.0003662109375,
+ "y": 116.00007629394531,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "2df38444.65759c"
+ ]
+ ]
+ },
+ {
+ "id": "2df38444.65759c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1167.2698974609375,
+ "y": 99.55461120605469,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "1580b603.a7115a",
+ "2393097b.207106"
+ ]
+ ]
+ },
+ {
+ "id": "1580b603.a7115a",
+ "type": "for",
+ "name": "for vidx..service-data.vnfs.vnf_length[]",
+ "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1465.285888671875,
+ "y": 80.42861938476562,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "d610b844.0652c8"
+ ]
+ ]
+ },
+ {
+ "id": "2393097b.207106",
+ "type": "switchNode",
+ "name": "switch tmp.vidx ",
+ "xml": "<switch test=\"`$tmp.vidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1386.5872802734375,
+ "y": 123.41180419921875,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "dd032095.3aded"
+ ]
+ ]
+ },
+ {
+ "id": "dd032095.3aded",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1587.015869140625,
+ "y": 128.98321533203125,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "40072c93.943294"
+ ]
+ ]
+ },
+ {
+ "id": "d610b844.0652c8",
+ "type": "switchNode",
+ "name": "switch vnfid found",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1775.7144775390625,
+ "y": 78.6787109375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "fc26d8de.94b0a8"
+ ]
+ ]
+ },
+ {
+ "id": "40072c93.943294",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1758.4443359375,
+ "y": 129.12606811523438,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fc26d8de.94b0a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1981.666748046875,
+ "y": 77.57144165039062,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "7149eeb8.6b351"
+ ]
+ ]
+ },
+ {
+ "id": "7149eeb8.6b351",
+ "type": "set",
+ "name": "set tmp.vidx and ctx.vnf-data",
+ "xml": "<set>\n<parameter name='tmp.vidx' value='`$vidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\n",
+ "comments": "",
+ "x": 2220.198486328125,
+ "y": 73.32144165039062,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6c7ae40f.24628c",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1077.96875,
+ "y": 25.96875,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "910f30c.abfcad"
+ ]
+ ]
+ },
+ {
+ "id": "cdf59db6.a5688",
+ "type": "comment",
+ "name": "TODO: Check validation",
+ "info": "",
+ "comments": "",
+ "x": 628,
+ "y": 21,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e48e518f.1dc2a",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 606.3436889648438,
+ "y": 717.34375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4a014615.6e9cf8",
+ "type": "set",
+ "name": "set vnf-level-oper-status to Active",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 662.8237915039062,
+ "y": 543.680908203125,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bf95d9ae.8087f8",
+ "type": "set",
+ "name": "copy input data to service data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n\n",
+ "comments": "",
+ "x": 652.6769409179688,
+ "y": 502.6771240234375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c850e5af.e42fa8",
+ "type": "save",
+ "name": "update siteInstance configuration in AAI",
+ "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >\n<parameter name='vnf-id' value='`$prop.vnf-index`' />\n<parameter name='in-maint' value='true' />\n<parameter name='is-closed-loop-disabled' value='false' />\n<parameter name='orchestration-status' value='Active' />\n<parameter name='operational-status' value='Active' />\n<parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 683.0104370117188,
+ "y": 627.5659790039062,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "b4c6f1a.73d561",
+ "type": "save",
+ "name": "save service relationship in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 654.0104370117188,
+ "y": 668.34375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "d7008318.12e1b",
+ "type": "set",
+ "name": "set vnf-index and vnf-object-path",
+ "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />",
+ "comments": "",
+ "x": 659.5104370117188,
+ "y": 585.34375,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2b37bcac.68f084",
+ "type": "switchNode",
+ "name": "switch sdwan.site",
+ "xml": "<switch test=\"`$tmp.sdwan.site`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 615,
+ "y": 348,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "a9004d13.a7ec4",
+ "27d5839b.ac9ebc"
+ ]
+ ]
+ },
+ {
+ "id": "3993fb6.79aca04",
+ "type": "set",
+ "name": "set sdwan.site",
+ "xml": "<set>\n<parameter name='tmp.sdwan.site' value='false' />\n",
+ "comments": "",
+ "x": 606,
+ "y": 217,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "27d5839b.ac9ebc",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 751,
+ "y": 441,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "1ed61d3a.a1c323"
+ ]
+ ]
+ },
+ {
+ "id": "a9004d13.a7ec4",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 794.8887939453125,
+ "y": 361.00006103515625,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+ "289c3fbe.f462"
+ ]
+ ]
+ },
+ {
+ "id": "289c3fbe.f462",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 934,
+ "y": 361,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "1ed61d3a.a1c323",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 913,
+ "y": 440,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "ce5d0a29.098d18",
+ "type": "comment",
+ "name": "TODO: SDWAN implementation for site",
+ "info": "",
+ "comments": "",
+ "x": 1097,
+ "y": 485,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ba135787.4aba08",
+ "type": "comment",
+ "name": "Site and role will be used to identify SDWAN service",
+ "info": "",
+ "comments": "",
+ "x": 1829,
+ "y": 358,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c30ca451.c8aa78",
+ "type": "comment",
+ "name": "TODO: AAI",
+ "info": "",
+ "comments": "",
+ "x": 900,
+ "y": 638,
+ "z": "68309cb5.9fbe94",
+ "wires": [
+
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json
new file mode 100644
index 00000000..bc081931
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json
@@ -0,0 +1,690 @@
+[
+ {
+ "id": "b9ac105c.8ec8f",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 97.01041412353516,
+ "y": 47.41365957260132,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "cdfd9c31.ba898"
+ ]
+ ]
+ },
+ {
+ "id": "cdfd9c31.ba898",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 196.29611206054688,
+ "y": 121.65176746528596,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "8cec72fa.c96d5"
+ ]
+ ]
+ },
+ {
+ "id": "8cec72fa.c96d5",
+ "type": "method",
+ "name": "method site-vnf-topology-operation-create",
+ "xml": "<method rpc='site-vnf-topology-operation-create' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 217.43902587890625,
+ "y": 211.41365596931428,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "c88bbc51.c05a"
+ ]
+ ]
+ },
+ {
+ "id": "c88bbc51.c05a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 197.67707061767578,
+ "y": 383.08032772224396,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "6bf31f55.e7d98",
+ "c99fe643.20ccd8",
+ "34e47add.75c586",
+ "fe017e7c.6df8",
+ "bb192e9e.a5c6c",
+ "10180061.fe9e8",
+ "bc730e3d.2a3f4",
+ "fd6d952f.2ce658",
+ "bb650f09.4befc",
+ "c7f37fdc.75322",
+ "8a7774f7.eba7c8"
+ ]
+ ]
+ },
+ {
+ "id": "34e47add.75c586",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 520.3436431884766,
+ "y": 741.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c99fe643.20ccd8",
+ "type": "set",
+ "name": "set vnf-level-oper-status to Created",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 579.8237457275391,
+ "y": 568.0841431617737,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6bf31f55.e7d98",
+ "type": "set",
+ "name": "copy input data to service data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
+ "comments": "",
+ "x": 566.6768951416016,
+ "y": 466.0803589820862,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fe017e7c.6df8",
+ "type": "execute",
+ "name": "execute generate-vnf-index",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vnf-index\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.0103912353516,
+ "y": 404.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "bb192e9e.a5c6c",
+ "type": "set",
+ "name": "set vnf-index to service data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.vnf-id' value='`$prop.vnf-index`' />\n",
+ "comments": "",
+ "x": 557.0103912353516,
+ "y": 521.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "10180061.fe9e8",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 581.0103912353516,
+ "y": 284.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "da5d62eb.78235",
+ "6a8033d.3310ccc"
+ ]
+ ]
+ },
+ {
+ "id": "da5d62eb.78235",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 836.7247467041016,
+ "y": 274.8898072242737,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "aa63df44.dc701"
+ ]
+ ]
+ },
+ {
+ "id": "aa63df44.dc701",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 1001.0104675292969,
+ "y": 273.8898854255676,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6a8033d.3310ccc",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 838.1533088684082,
+ "y": 339.17562532424927,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "62e804c3.fcb0ec"
+ ]
+ ]
+ },
+ {
+ "id": "fde7e6bf.6c5328",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1177.0104637145996,
+ "y": 317.4613137245178,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "59c71e1.00ba4e",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1162.4389762878418,
+ "y": 363.4612526893616,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "17e77a68.a0edf6"
+ ]
+ ]
+ },
+ {
+ "id": "62e804c3.fcb0ec",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 973.8675689697266,
+ "y": 339.1755909919739,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "fde7e6bf.6c5328",
+ "59c71e1.00ba4e"
+ ]
+ ]
+ },
+ {
+ "id": "17e77a68.a0edf6",
+ "type": "switchNode",
+ "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1538.7247467041016,
+ "y": 351.0327515602112,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "5bee4b88.02f404"
+ ]
+ ]
+ },
+ {
+ "id": "5bee4b88.02f404",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1639.0103912353516,
+ "y": 420.6041626930237,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "45cdc14c.e4a58"
+ ]
+ ]
+ },
+ {
+ "id": "45cdc14c.e4a58",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`\" />\n",
+ "comments": "",
+ "x": 1664.581802368164,
+ "y": 480.6041626930237,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "22974b6a.26eb04",
+ "type": "comment",
+ "name": "make sure this VNF doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1503.867473602295,
+ "y": 320.6041626930237,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bc730e3d.2a3f4",
+ "type": "set",
+ "name": "set new vnf_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
+ "comments": "",
+ "x": 533.0103912353516,
+ "y": 359.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fd6d952f.2ce658",
+ "type": "save",
+ "name": "save siteInstance configuration in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >\n<parameter name='vnf-id' value='`$prop.vnf-index`' />\n<parameter name='vnf-name' value='`$prop.site.name`' />\n<parameter name='vnf-name2' value='`$prop.site.description`' />\n<parameter name='regional-resource-zone' value='`$prop.site.location`' />\n<parameter name='vnf-type' value='prop.site.type' />\n<parameter name='in-maint' value='true' />\n<parameter name='is-closed-loop-disabled' value='false' />\n<parameter name='orchestration-status' value='Created' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 588.0103797912598,
+ "y": 654.9692330360413,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "bb650f09.4befc",
+ "type": "save",
+ "name": "save service relationship in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 568.0103912353516,
+ "y": 692.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "c7f37fdc.75322",
+ "type": "set",
+ "name": "set vnf-index and vnf-object-path",
+ "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />",
+ "comments": "",
+ "x": 573.5103912353516,
+ "y": 609.7469849586487,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8a7774f7.eba7c8",
+ "type": "for",
+ "name": "for loop i - VNF input parameters",
+ "xml": "<for index=\"idx\" start=\"0\" end=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 586.1151275634766,
+ "y": 141.48147916793823,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "359fa75f.492d58"
+ ]
+ ]
+ },
+ {
+ "id": "359fa75f.492d58",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 973.8933715820312,
+ "y": 142.03711557388306,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "f0758e90.0e45c",
+ "2de72527.9a032a",
+ "378d80e2.17f6",
+ "7702e686.8af7a8",
+ "75b119e9.762ed8",
+ "1c70f9bf.47a396"
+ ]
+ ]
+ },
+ {
+ "id": "f0758e90.0e45c",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1177.1152682304382,
+ "y": 88.03709030151367,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "665f8a5d.1e1384"
+ ]
+ ]
+ },
+ {
+ "id": "665f8a5d.1e1384",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1364.1152682304382,
+ "y": 84.03709030151367,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "303b324.5f06cce"
+ ]
+ ]
+ },
+ {
+ "id": "303b324.5f06cce",
+ "type": "set",
+ "name": "set name",
+ "xml": "<set>\n<parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1532.1152682304382,
+ "y": 84.6370964050293,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2de72527.9a032a",
+ "type": "switchNode",
+ "name": "switch description",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1194.9549860954285,
+ "y": 131.0370855331421,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "ea9a727f.74db9"
+ ]
+ ]
+ },
+ {
+ "id": "ea9a727f.74db9",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1381.9549860954285,
+ "y": 127.03708553314209,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "965ea5a4.e205c8"
+ ]
+ ]
+ },
+ {
+ "id": "965ea5a4.e205c8",
+ "type": "set",
+ "name": "set description",
+ "xml": "<set>\n<parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1543.2884669303894,
+ "y": 126.49824523925781,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "378d80e2.17f6",
+ "type": "switchNode",
+ "name": "switch location",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1185.0410990715027,
+ "y": 173.44442749023438,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "aa90cf46.db3a1"
+ ]
+ ]
+ },
+ {
+ "id": "aa90cf46.db3a1",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1372.0410990715027,
+ "y": 169.44442749023438,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "77618d13.d7cf34"
+ ]
+ ]
+ },
+ {
+ "id": "77618d13.d7cf34",
+ "type": "set",
+ "name": "set location",
+ "xml": "<set>\n<parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1540.0410990715027,
+ "y": 170.04443359375,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "7702e686.8af7a8",
+ "type": "switchNode",
+ "name": "switch id",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1175.0104174613953,
+ "y": 42.010414123535156,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "ed13080f.421188"
+ ]
+ ]
+ },
+ {
+ "id": "ed13080f.421188",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1362.0104174613953,
+ "y": 38.010414123535156,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "23e732a.cf615ce"
+ ]
+ ]
+ },
+ {
+ "id": "23e732a.cf615ce",
+ "type": "set",
+ "name": "set id",
+ "xml": "<set>\n<parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1530.0104174613953,
+ "y": 38.61042022705078,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "75b119e9.762ed8",
+ "type": "switchNode",
+ "name": "switch type",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1184.0104174613953,
+ "y": 217.01040649414062,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "2190e18f.1b285e"
+ ]
+ ]
+ },
+ {
+ "id": "2190e18f.1b285e",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1371.0104174613953,
+ "y": 213.01040649414062,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "195e7aa3.f12db5"
+ ]
+ ]
+ },
+ {
+ "id": "195e7aa3.f12db5",
+ "type": "set",
+ "name": "set type",
+ "xml": "<set>\n<parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1539.0104174613953,
+ "y": 213.61041259765625,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1c70f9bf.47a396",
+ "type": "switchNode",
+ "name": "switch role",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1187.0104174613953,
+ "y": 260.0104064941406,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "6e1ae54c.95dc4c"
+ ]
+ ]
+ },
+ {
+ "id": "6e1ae54c.95dc4c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1374.0104174613953,
+ "y": 256.0104064941406,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+ [
+ "338b1db2.4b0a32"
+ ]
+ ]
+ },
+ {
+ "id": "338b1db2.4b0a32",
+ "type": "set",
+ "name": "set role",
+ "xml": "<set>\n<parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1542.0104174613953,
+ "y": 256.61041259765625,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "63e9e578.e6c03c",
+ "type": "comment",
+ "name": "TODO: AAI",
+ "info": "",
+ "comments": "",
+ "x": 813,
+ "y": 651,
+ "z": "c9244d8c.dbc33",
+ "wires": [
+
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json
new file mode 100644
index 00000000..ad6eb1e4
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json
@@ -0,0 +1,803 @@
+[
+ {
+ "id": "29fa8678.95f9ca",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 131,
+ "y": 118,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "d48a6f16.dbc94"
+ ]
+ ]
+ },
+ {
+ "id": "d48a6f16.dbc94",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 206.28570556640625,
+ "y": 158.23811149597168,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "7ed81cb7.0a51d4"
+ ]
+ ]
+ },
+ {
+ "id": "7ed81cb7.0a51d4",
+ "type": "method",
+ "name": "method site-vnf-topology-operation-deactivate",
+ "xml": "<method rpc='site-vnf-topology-operation-deactivate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 227.42861938476562,
+ "y": 248,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "aa23d49.327ed28"
+ ]
+ ]
+ },
+ {
+ "id": "aa23d49.327ed28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 207.66666412353516,
+ "y": 419.6666717529297,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "9bb8f3a8.802f5",
+ "15d3779a.2c8a88",
+ "9540c63d.a06978",
+ "78df0c0e.576094",
+ "99b35972.99c3a8",
+ "61eb6b8d.7cad14",
+ "4080214.adfeae",
+ "6f647857.5c6b48",
+ "4302e938.be3ef8",
+ "1364166a.1d494a"
+ ]
+ ]
+ },
+ {
+ "id": "9bb8f3a8.802f5",
+ "type": "for",
+ "name": "for loop i - VNF input parameters",
+ "xml": "<for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 660.104736328125,
+ "y": 307.06783294677734,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "a5175fe3.e03a"
+ ]
+ ]
+ },
+ {
+ "id": "a5175fe3.e03a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 906.8829312324524,
+ "y": 307.623462411575,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "a25f1f5b.132b7",
+ "617dd8fe.aa7948",
+ "15ed8251.27c1ce",
+ "984a8326.9a457",
+ "ff594d8d.7aa95",
+ "20f2971f.ecec88"
+ ]
+ ]
+ },
+ {
+ "id": "a25f1f5b.132b7",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1112.1048202514648,
+ "y": 262.62343978881836,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "e1ea29c6.845788"
+ ]
+ ]
+ },
+ {
+ "id": "e1ea29c6.845788",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1299.1048202514648,
+ "y": 258.62343978881836,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "cda20cf5.41ce9"
+ ]
+ ]
+ },
+ {
+ "id": "cda20cf5.41ce9",
+ "type": "set",
+ "name": "set name",
+ "xml": "<set>\n<parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1467.1048202514648,
+ "y": 259.223445892334,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "617dd8fe.aa7948",
+ "type": "switchNode",
+ "name": "switch description",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1129.944538116455,
+ "y": 305.6234350204468,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "9accb009.2112d"
+ ]
+ ]
+ },
+ {
+ "id": "9accb009.2112d",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1316.944538116455,
+ "y": 301.6234350204468,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "8ca9a7db.ec8f18"
+ ]
+ ]
+ },
+ {
+ "id": "8ca9a7db.ec8f18",
+ "type": "set",
+ "name": "set description",
+ "xml": "<set>\n<parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1478.278018951416,
+ "y": 301.0845947265625,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "15ed8251.27c1ce",
+ "type": "switchNode",
+ "name": "switch location",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1120.0306510925293,
+ "y": 348.03077697753906,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "8dc32f9.9a097d"
+ ]
+ ]
+ },
+ {
+ "id": "8dc32f9.9a097d",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.0306510925293,
+ "y": 344.03077697753906,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "c9cae02e.83783"
+ ]
+ ]
+ },
+ {
+ "id": "c9cae02e.83783",
+ "type": "set",
+ "name": "set location",
+ "xml": "<set>\n<parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1475.0306510925293,
+ "y": 344.6307830810547,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "984a8326.9a457",
+ "type": "switchNode",
+ "name": "switch id",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1109.9999694824219,
+ "y": 216.59676361083984,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "96a74444.b53228"
+ ]
+ ]
+ },
+ {
+ "id": "96a74444.b53228",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1296.9999694824219,
+ "y": 212.59676361083984,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "df6964b4.228f78"
+ ]
+ ]
+ },
+ {
+ "id": "df6964b4.228f78",
+ "type": "set",
+ "name": "set id",
+ "xml": "<set>\n<parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1464.9999694824219,
+ "y": 213.19676971435547,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ff594d8d.7aa95",
+ "type": "switchNode",
+ "name": "switch type",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1118.9999694824219,
+ "y": 391.5967559814453,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "343eddcc.c79502"
+ ]
+ ]
+ },
+ {
+ "id": "343eddcc.c79502",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1305.9999694824219,
+ "y": 387.5967559814453,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "c923d4d2.c53e48"
+ ]
+ ]
+ },
+ {
+ "id": "c923d4d2.c53e48",
+ "type": "set",
+ "name": "set type",
+ "xml": "<set>\n<parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />",
+ "comments": "",
+ "x": 1473.9999694824219,
+ "y": 388.19676208496094,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "20f2971f.ecec88",
+ "type": "switchNode",
+ "name": "switch role",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1121.9999694824219,
+ "y": 434.5967559814453,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "4a74022c.fbbfdc"
+ ]
+ ]
+ },
+ {
+ "id": "4a74022c.fbbfdc",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1308.9999694824219,
+ "y": 430.5967559814453,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "ed0bb784.6f5f28"
+ ]
+ ]
+ },
+ {
+ "id": "ed0bb784.6f5f28",
+ "type": "set",
+ "name": "set role & sdwan.site",
+ "xml": "<set>\n<parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />\n",
+ "comments": "",
+ "x": 1516.9999694824219,
+ "y": 430.19676971435547,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "15d3779a.2c8a88",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 667.9895935058594,
+ "y": 108.98958587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "ce757eba.3051d",
+ "317e6180.be733e",
+ "355929c1.e3c516"
+ ]
+ ]
+ },
+ {
+ "id": "ce757eba.3051d",
+ "type": "other",
+ "name": "Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1080.9895935058594,
+ "y": 101.9896469116211,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "3a71c6fc.a403ea"
+ ]
+ ]
+ },
+ {
+ "id": "3a71c6fc.a403ea",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1299.7670593261719,
+ "y": 77.87859344482422,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "317e6180.be733e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 992.9899597167969,
+ "y": 155.98966217041016,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "6231a17a.01c0e"
+ ]
+ ]
+ },
+ {
+ "id": "6231a17a.01c0e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1164.2594909667969,
+ "y": 139.54419708251953,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "b34aef0c.acf71",
+ "8f0f5852.1fb888"
+ ]
+ ]
+ },
+ {
+ "id": "b34aef0c.acf71",
+ "type": "for",
+ "name": "for vidx..service-data.vnfs.vnf_length[]",
+ "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1462.2754821777344,
+ "y": 120.41820526123047,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "dbdd8064.8b575"
+ ]
+ ]
+ },
+ {
+ "id": "8f0f5852.1fb888",
+ "type": "switchNode",
+ "name": "switch tmp.vidx ",
+ "xml": "<switch test=\"`$tmp.vidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1383.5768737792969,
+ "y": 163.4013900756836,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "790650c4.ec7c"
+ ]
+ ]
+ },
+ {
+ "id": "790650c4.ec7c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1584.0054626464844,
+ "y": 168.9728012084961,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "3c6f340.b39b3cc"
+ ]
+ ]
+ },
+ {
+ "id": "dbdd8064.8b575",
+ "type": "switchNode",
+ "name": "switch vnfid found",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1772.7040710449219,
+ "y": 118.66829681396484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "442b99c7.862238"
+ ]
+ ]
+ },
+ {
+ "id": "3c6f340.b39b3cc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1755.4339294433594,
+ "y": 169.11565399169922,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "442b99c7.862238",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1978.6563415527344,
+ "y": 117.56102752685547,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "9a4c2f33.323f8"
+ ]
+ ]
+ },
+ {
+ "id": "9a4c2f33.323f8",
+ "type": "set",
+ "name": "set tmp.vidx and ctx.vnf-data",
+ "xml": "<set>\n<parameter name='tmp.vidx' value='`$vidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\n",
+ "comments": "",
+ "x": 2217.1880798339844,
+ "y": 113.31102752685547,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "355929c1.e3c516",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1074.9583435058594,
+ "y": 65.95833587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "3a71c6fc.a403ea"
+ ]
+ ]
+ },
+ {
+ "id": "28632f1f.75eb4",
+ "type": "comment",
+ "name": "TODO: Check validation",
+ "info": "",
+ "comments": "",
+ "x": 624.9895935058594,
+ "y": 60.989585876464844,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9540c63d.a06978",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 603.3332824707031,
+ "y": 757.3333358764648,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "78df0c0e.576094",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingDelete",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingDelete' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 682.8133850097656,
+ "y": 585.6704711914062,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "99b35972.99c3a8",
+ "type": "set",
+ "name": "copy input data to service data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n\n",
+ "comments": "",
+ "x": 649.6665344238281,
+ "y": 542.6667098999023,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "61eb6b8d.7cad14",
+ "type": "save",
+ "name": "update siteInstance configuration in AAI",
+ "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >\n<parameter name='vnf-id' value='`$prop.vnf-index`' />\n<parameter name='in-maint' value='true' />\n<parameter name='is-closed-loop-disabled' value='false' />\n<parameter name='orchestration-status' value='PendingDelete' />\n<parameter name='operational-status' value='PendingDelete' />\n<parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 677,
+ "y": 665.5556030273438,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "4080214.adfeae",
+ "type": "save",
+ "name": "save service relationship in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 651.0000305175781,
+ "y": 708.3333358764648,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "6f647857.5c6b48",
+ "type": "set",
+ "name": "set vnf-index and vnf-object-path",
+ "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />",
+ "comments": "",
+ "x": 656.5000305175781,
+ "y": 625.3333358764648,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1364166a.1d494a",
+ "type": "switchNode",
+ "name": "switch sdwan.site",
+ "xml": "<switch test=\"`$tmp.sdwan.site`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 611.9895935058594,
+ "y": 387.98958587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "2e02ce5b.120d72",
+ "c3598024.ef229"
+ ]
+ ]
+ },
+ {
+ "id": "4302e938.be3ef8",
+ "type": "set",
+ "name": "set sdwan.site",
+ "xml": "<set>\n<parameter name='tmp.sdwan.site' value='false' />\n",
+ "comments": "",
+ "x": 602.9895935058594,
+ "y": 256.98958587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c3598024.ef229",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 747.9895935058594,
+ "y": 480.98958587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "38d8d2a8.f58c0e"
+ ]
+ ]
+ },
+ {
+ "id": "2e02ce5b.120d72",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 791.8783874511719,
+ "y": 400.9896469116211,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+ "ad672f8e.2adcd"
+ ]
+ ]
+ },
+ {
+ "id": "ad672f8e.2adcd",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 930.9895935058594,
+ "y": 400.98958587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "38d8d2a8.f58c0e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 909.9895935058594,
+ "y": 479.98958587646484,
+ "z": "af5ae803.904aa8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "d9bbd64d.c1dfa8",
+ "type": "comment",
+ "name": "TODO: SDWAN implementation for site",
+ "info": "",
+ "comments": "",
+ "x": 1067.9895935058594,
+ "y": 521.9895858764648,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "dfb2bb0b.f25f38",
+ "type": "comment",
+ "name": "TODO: AAI",
+ "info": "",
+ "comments": "",
+ "x": 902,
+ "y": 671,
+ "z": "af5ae803.904aa8",
+ "wires": [
+
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json
new file mode 100644
index 00000000..0c552342
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json
@@ -0,0 +1,617 @@
+[
+ {
+ "id": "a2b91e00.0dacb",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 119,
+ "y": 37,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "17fbd1a8.a9b4ce"
+ ]
+ ]
+ },
+ {
+ "id": "17fbd1a8.a9b4ce",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 194.28570556640625,
+ "y": 77.23811149597168,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "cd1ac734.4667a8"
+ ]
+ ]
+ },
+ {
+ "id": "cd1ac734.4667a8",
+ "type": "method",
+ "name": "method site-vnf-topology-operation-delete",
+ "xml": "<method rpc='site-vnf-topology-operation-delete' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 215.42861938476562,
+ "y": 167,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "8f642f93.2a801"
+ ]
+ ]
+ },
+ {
+ "id": "8f642f93.2a801",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 347.6666564941406,
+ "y": 226.66668701171875,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "76c48b79.d84cf4",
+ "bfaa0886.4026e8",
+ "d0626629.81a8c8",
+ "a00c6468.40dc18",
+ "d6cddc91.15c3a",
+ "1aa89ef4.371e21"
+ ]
+ ]
+ },
+ {
+ "id": "76c48b79.d84cf4",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 668.9895935058594,
+ "y": 73.98958587646484,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "e84dd0b6.bd49f",
+ "6abf3e26.6123e",
+ "cad37430.9a8ae8"
+ ]
+ ]
+ },
+ {
+ "id": "e84dd0b6.bd49f",
+ "type": "other",
+ "name": "Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1081.9895935058594,
+ "y": 66.9896469116211,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "1e4a1529.eacc1b"
+ ]
+ ]
+ },
+ {
+ "id": "1e4a1529.eacc1b",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1300.7670593261719,
+ "y": 42.87859344482422,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6abf3e26.6123e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 993.9899597167969,
+ "y": 120.98966217041016,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "8e41da85.f0c968"
+ ]
+ ]
+ },
+ {
+ "id": "8e41da85.f0c968",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1165.2594909667969,
+ "y": 104.54419708251953,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "40ff91c4.16b8c",
+ "901feb4d.552588"
+ ]
+ ]
+ },
+ {
+ "id": "40ff91c4.16b8c",
+ "type": "for",
+ "name": "for vidx..service-data.vnfs.vnf_length[]",
+ "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1463.2754821777344,
+ "y": 85.41820526123047,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "21662e74.a22c42"
+ ]
+ ]
+ },
+ {
+ "id": "901feb4d.552588",
+ "type": "switchNode",
+ "name": "switch tmp.vidx ",
+ "xml": "<switch test=\"`$tmp.vidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1384.5768737792969,
+ "y": 128.4013900756836,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "ee9e043e.1f4d08"
+ ]
+ ]
+ },
+ {
+ "id": "ee9e043e.1f4d08",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1585.0054626464844,
+ "y": 133.9728012084961,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "b08c7bb.174c688"
+ ]
+ ]
+ },
+ {
+ "id": "21662e74.a22c42",
+ "type": "switchNode",
+ "name": "switch vnfid found",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1773.7040710449219,
+ "y": 83.66829681396484,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "c6e29244.22831"
+ ]
+ ]
+ },
+ {
+ "id": "b08c7bb.174c688",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1756.4339294433594,
+ "y": 134.11565399169922,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c6e29244.22831",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1979.6563415527344,
+ "y": 82.56102752685547,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "34cb4af6.5dade6"
+ ]
+ ]
+ },
+ {
+ "id": "34cb4af6.5dade6",
+ "type": "set",
+ "name": "set tmp.vidx and ctx.vnf-data",
+ "xml": "<set>\n<parameter name='tmp.vidx' value='`$vidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\n",
+ "comments": "",
+ "x": 2218.1880798339844,
+ "y": 78.31102752685547,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "cad37430.9a8ae8",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1075.9583435058594,
+ "y": 30.958335876464844,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "1e4a1529.eacc1b"
+ ]
+ ]
+ },
+ {
+ "id": "4dc3e987.9fd4e8",
+ "type": "comment",
+ "name": "TODO: Check validation",
+ "info": "",
+ "comments": "",
+ "x": 625.9895935058594,
+ "y": 25.989585876464844,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bfaa0886.4026e8",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 590.333251953125,
+ "y": 562.3333740234375,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "728d2d28.940264",
+ "type": "for",
+ "name": "for each vnf",
+ "xml": "<for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1117.7793083190918,
+ "y": 393.66661167144775,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "7caecd51.491534"
+ ]
+ ]
+ },
+ {
+ "id": "347e4d01.6da902",
+ "type": "comment",
+ "name": "Remove VNF from service data",
+ "info": "",
+ "comments": "",
+ "x": 640.9380798339844,
+ "y": 342.2382507324219,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "7caecd51.491534",
+ "type": "set",
+ "name": "move vnf to remove one",
+ "xml": "<set>\n\t<parameter name=\"$tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$tmpidx].\" value=\"$service-data.vnfs.vnf[$idx].\" />\n\t\n",
+ "comments": "",
+ "x": 1351.3704414367676,
+ "y": 392.6905632019043,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d6cddc91.15c3a",
+ "type": "switchNode",
+ "name": "switch vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 604.0371704101562,
+ "y": 395.2462406158447,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "f6c22b0f.9c87a8",
+ "3909fa08.1288e6"
+ ]
+ ]
+ },
+ {
+ "id": "f6c22b0f.9c87a8",
+ "type": "outcome",
+ "name": "1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 781.0372123718262,
+ "y": 355.91282749176025,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "489f0baa.cc5474"
+ ]
+ ]
+ },
+ {
+ "id": "489f0baa.cc5474",
+ "type": "set",
+ "name": "Remove vnfs",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n",
+ "comments": "",
+ "x": 944.7037086486816,
+ "y": 355.91292667388916,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "3909fa08.1288e6",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 779.7039566040039,
+ "y": 439.2461004257202,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "1459edc6.fe9a92"
+ ]
+ ]
+ },
+ {
+ "id": "e0ce4e15.0694e",
+ "type": "set",
+ "name": "set new vnf length",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf_length\" value=\"`$service-data.vnfs.vnf_length - 1`\"/>\n\n\t\n",
+ "comments": "",
+ "x": 1137.333396911621,
+ "y": 484.2461853027344,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1b0c5771.6e6a79",
+ "type": "set",
+ "name": "Remove the last vnf in the list",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1].\" value=\"\"/>\n\n",
+ "comments": "",
+ "x": 1173.037052154541,
+ "y": 439.3572063446045,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1459edc6.fe9a92",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 948.3704452514648,
+ "y": 439.9127473831177,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "728d2d28.940264",
+ "1b0c5771.6e6a79",
+ "e0ce4e15.0694e"
+ ]
+ ]
+ },
+ {
+ "id": "d0626629.81a8c8",
+ "type": "switchNode",
+ "name": "switch current vnf-level-oper-status == PendingDelete",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingDelete'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 702.9999885559082,
+ "y": 181.00003623962402,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "aa414c85.4ebad"
+ ]
+ ]
+ },
+ {
+ "id": "350728d2.6ecb38",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete a VNF in a Created state\" />\n",
+ "comments": "",
+ "x": 1165.9999809265137,
+ "y": 180,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a00c6468.40dc18",
+ "type": "switchNode",
+ "name": "switch current vf-module_length",
+ "xml": "<switch test=\"`$ctx.vnf-data.vf-modules.vf-module_length`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 653.3333320617676,
+ "y": 267.00000190734863,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "e2c40a8f.28c2e8",
+ "efcade27.df8a7",
+ "fdf813a0.7dec9"
+ ]
+ ]
+ },
+ {
+ "id": "e2c40a8f.28c2e8",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 881.9999732971191,
+ "y": 223.6666431427002,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "4056136c.450bfc"
+ ]
+ ]
+ },
+ {
+ "id": "efcade27.df8a7",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 880.5713844299316,
+ "y": 265.0953006744385,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "4056136c.450bfc"
+ ]
+ ]
+ },
+ {
+ "id": "4056136c.450bfc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1029.1428985595703,
+ "y": 245.0953016281128,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "fdf813a0.7dec9",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 880.5714340209961,
+ "y": 306.52388858795166,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "dbbd756.2a74488"
+ ]
+ ]
+ },
+ {
+ "id": "dbbd756.2a74488",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete the VNF because there are VFs defined\" />\n",
+ "comments": "",
+ "x": 1047.7143287658691,
+ "y": 306.09527683258057,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "aa414c85.4ebad",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1005,
+ "y": 181,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+ "350728d2.6ecb38"
+ ]
+ ]
+ },
+ {
+ "id": "1aa89ef4.371e21",
+ "type": "delete",
+ "name": "delete Site in AAI",
+ "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 604,
+ "y": 510,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "e61bcb70.9a5e48",
+ "type": "comment",
+ "name": "TODO: AAI",
+ "info": "",
+ "comments": "",
+ "x": 775,
+ "y": 512,
+ "z": "7bfb2dad.3744a4",
+ "wires": [
+
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.json
new file mode 100644
index 00000000..4b055d10
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.json
@@ -0,0 +1,2970 @@
+[
+ {
+ "id": "a77629b2.29acf8",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 104.03125,
+ "y": 31.999999523162842,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "2a935009.ef91b"
+ ]
+ ]
+ },
+ {
+ "id": "2a935009.ef91b",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 316.03125381469727,
+ "y": 104.00001668930054,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "394d3966.f7a306"
+ ]
+ ]
+ },
+ {
+ "id": "394d3966.f7a306",
+ "type": "method",
+ "name": "sotn-attachment-topology-operation-activate",
+ "xml": "<method rpc='sotn-attachment-topology-operation-activate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 304.0313720703125,
+ "y": 191.99999952316284,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "3355788a.12aa08"
+ ]
+ ]
+ },
+ {
+ "id": "3355788a.12aa08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 320.0313720703125,
+ "y": 747.000244140625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "3df84881.f08dd8",
+ "d2f1b91d.444978",
+ "e6d1c52b.520cc8",
+ "1587558f.923b5a",
+ "606696e.6cc0f68",
+ "6558b5c9.5b8bec",
+ "d1e1bdb5.615f1",
+ "c7d4c837.69f1a8",
+ "f3e22a0c.d8db48",
+ "cb89d188.f33cc",
+ "3bc10ee7.beb432",
+ "bef55f2e.ad6b3",
+ "36004db7.4505d2",
+ "d7f464d6.9ac5f8",
+ "a66d68ee.9308e8",
+ "9ab0f309.357b6",
+ "f9e2a4f.0cf5858",
+ "6afb5fe5.f951c",
+ "7b232ea8.d345"
+ ]
+ ]
+ },
+ {
+ "id": "3df84881.f08dd8",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id,etc",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n",
+ "comments": "",
+ "x": 717.0248107910156,
+ "y": 145.99348640441895,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "66bc483f.e63618",
+ "type": "comment",
+ "name": "set tmp ar-id to fetch resource from MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 745.9851226806641,
+ "y": 110.02528238296509,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d2f1b91d.444978",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 671.0247497558594,
+ "y": 238.99349164962769,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c7d4c837.69f1a8",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 677.2866401672363,
+ "y": 326.66022062301636,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "e6d1c52b.520cc8",
+ "type": "execute",
+ "name": "generate allotted-resource url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.2866668701172,
+ "y": 414.6602020263672,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "1587558f.923b5a",
+ "type": "get-resource",
+ "name": "get-resource connection-attachment-allotted-resource",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id/' pfx='mdsal-ar' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 780.0247650146484,
+ "y": 504.7712607383728,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "9d21fc06.56c9b",
+ "b5f5dd22.5d92a"
+ ]
+ ]
+ },
+ {
+ "id": "4c5a1d8d.682774",
+ "type": "comment",
+ "name": "GET connection-attachment-allotted-resource from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 786.8395614624023,
+ "y": 476.53857946395874,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6cf9a5a4.2b253c",
+ "type": "comment",
+ "name": "Used for setting output to API Handler",
+ "info": "",
+ "comments": "",
+ "x": 725.0247802734375,
+ "y": 205.99350118637085,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "15f9c1a1.7257ee",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 743.0247459411621,
+ "y": 291.88238191604614,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b17883ed.6bb59",
+ "type": "comment",
+ "name": "Used to Get AR by id to MDSAL, same as self-link",
+ "info": "",
+ "comments": "",
+ "x": 769.0247650146484,
+ "y": 378.88234090805054,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9d21fc06.56c9b",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1079.6979675292969,
+ "y": 489.9999918937683,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "a51a2d9d.383d"
+ ]
+ ]
+ },
+ {
+ "id": "a51a2d9d.383d",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1248.6979713439941,
+ "y": 488.4998927116394,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "1edb162f.f7047a"
+ ]
+ ]
+ },
+ {
+ "id": "1edb162f.f7047a",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1459.5552139282227,
+ "y": 488.1190218925476,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "2c727498.5563ec",
+ "cc396d19.c6009"
+ ]
+ ]
+ },
+ {
+ "id": "2c727498.5563ec",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1648.8885192871094,
+ "y": 488.1189799308777,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "94f9a14a.aa9d1"
+ ]
+ ]
+ },
+ {
+ "id": "94f9a14a.aa9d1",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic='true'>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1833.4124088287354,
+ "y": 485.0238137245178,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ccbbcb55.91af38",
+ "ca13a843.2cf298",
+ "b1755c5c.5e7d2"
+ ]
+ ]
+ },
+ {
+ "id": "151fea4f.a51286",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1792.5502090454102,
+ "y": 566.0660452842712,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b5f5dd22.5d92a",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1071.5497703552246,
+ "y": 525.0660767555237,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "318eef9c.54777"
+ ]
+ ]
+ },
+ {
+ "id": "318eef9c.54777",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1251.5497207641602,
+ "y": 525.7326273918152,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "151fea4f.a51286"
+ ]
+ ]
+ },
+ {
+ "id": "cc396d19.c6009",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1637.2164726257324,
+ "y": 525.3993401527405,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "151fea4f.a51286"
+ ]
+ ]
+ },
+ {
+ "id": "ccbbcb55.91af38",
+ "type": "set",
+ "name": "set connection-attachment-ar from get",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />\n",
+ "comments": "",
+ "x": 2201.4758911132812,
+ "y": 454.0000534057617,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b1755c5c.5e7d2",
+ "type": "set",
+ "name": "set oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n",
+ "comments": "",
+ "x": 2135.4759216308594,
+ "y": 527.4285559654236,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ca13a843.2cf298",
+ "type": "switchNode",
+ "name": "switch order-status",
+ "xml": "<switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2145.475700378418,
+ "y": 492.9999899864197,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "c5c8df87.d7496",
+ "96fbbcc4.3796a"
+ ]
+ ]
+ },
+ {
+ "id": "c5c8df87.d7496",
+ "type": "outcome",
+ "name": "outcome Created",
+ "xml": "<outcome value='Created'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2381.075782775879,
+ "y": 487.00002098083496,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "88f78e4e.b4f9"
+ ]
+ ]
+ },
+ {
+ "id": "96fbbcc4.3796a",
+ "type": "outcome",
+ "name": "outcome Other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2374.7902221679688,
+ "y": 526.4286289215088,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "935468c0.294618"
+ ]
+ ]
+ },
+ {
+ "id": "88f78e4e.b4f9",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2595.546298980713,
+ "y": 488.37565517425537,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "935468c0.294618",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" \n value=\"`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n",
+ "comments": "",
+ "x": 2614.6980018615723,
+ "y": 529.0000190734863,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "cd666072.c4472",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-get-request-input-param",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='connection-attachment-get-request-input-param' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 967.3342895507812,
+ "y": 594.4935550689697,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "f3e22a0c.d8db48",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 649.3403663635254,
+ "y": 594.4998416900635,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "cd666072.c4472"
+ ]
+ ]
+ },
+ {
+ "id": "606696e.6cc0f68",
+ "type": "get-resource",
+ "name": "get-resource parent-service-data",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id/service-data' pfx='mdsal-psd' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 714.0316772460938,
+ "y": 736.5316162109375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "f37fbd01.3a27c",
+ "a7659493.fc2068"
+ ]
+ ]
+ },
+ {
+ "id": "3f9c5fc2.bcfea",
+ "type": "comment",
+ "name": "GET parent-service-data from mdsal to check existence of other End point",
+ "info": "",
+ "comments": "",
+ "x": 834.0316162109375,
+ "y": 665.5315551757812,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a4aef874.7e7e88",
+ "type": "for",
+ "name": "for pidx..mdsal-psd.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='pidx' start='0' end='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1723.2160968780518,
+ "y": 904.0041084289551,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "c0e3f5d5.ead6e8"
+ ]
+ ]
+ },
+ {
+ "id": "6558b5c9.5b8bec",
+ "type": "switchNode",
+ "name": "switch mdsal-psd.provided-allotted-resources_length",
+ "xml": "<switch test='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 780.2154541015625,
+ "y": 880.7180786132812,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "c8d5ad22.c170b",
+ "7c868dde.220b24",
+ "5e4728c1.e810e8"
+ ]
+ ]
+ },
+ {
+ "id": "c8d5ad22.c170b",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1112.3582763671875,
+ "y": 1157.5755004882812,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "bad30438.d05408"
+ ]
+ ]
+ },
+ {
+ "id": "3a4d0461.4005dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1306.4856853485107,
+ "y": 898.7015209197998,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "a4aef874.7e7e88",
+ "e5572f4b.0166d"
+ ]
+ ]
+ },
+ {
+ "id": "c0e3f5d5.ead6e8",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2158.3274974823,
+ "y": 904.0040054321289,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ac0df227.58a1c",
+ "39a3c95.9a56f36"
+ ]
+ ]
+ },
+ {
+ "id": "ac0df227.58a1c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2367.1377239227295,
+ "y": 876.4684953689575,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "22a29502.ccff9a"
+ ]
+ ]
+ },
+ {
+ "id": "64186f05.4be35",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2546.8984203338623,
+ "y": 940.3256740570068,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "482d5120.f30ca",
+ "a13cbdb.502bd4"
+ ]
+ ]
+ },
+ {
+ "id": "482d5120.f30ca",
+ "type": "set",
+ "name": "set tmp.pidx and ptx.consumed-ar",
+ "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n<parameter name='tmp.provided-ar.' value='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$pidx].`' />\n<parameter name='tmp.found-in-ar' value='true' />\n<parameter name='tmp.ep-available' value='true' />",
+ "comments": "",
+ "x": 2803.755926132202,
+ "y": 914.8971881866455,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a13cbdb.502bd4",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2714.6166439056396,
+ "y": 961.6532039642334,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f72ddcab.98ba7",
+ "type": "comment",
+ "name": "Check existence of other AR in parent service data",
+ "info": "Check if other allotted resource is available.",
+ "comments": "",
+ "x": 769.993896484375,
+ "y": 814.8928833007812,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "7c868dde.220b24",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1124.0107231140137,
+ "y": 1028.6772651672363,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "4884d527.f966cc"
+ ]
+ ]
+ },
+ {
+ "id": "bad30438.d05408",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1285.0106201171875,
+ "y": 1156.6772422790527,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5e4728c1.e810e8",
+ "type": "other",
+ "name": "outcome 2",
+ "xml": "<outcome value='2'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1132.010705947876,
+ "y": 899.6772212982178,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "3a4d0461.4005dc"
+ ]
+ ]
+ },
+ {
+ "id": "22a29502.ccff9a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2525.1219387054443,
+ "y": 875.6772384643555,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "39a3c95.9a56f36",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2366.1219387054443,
+ "y": 938.6772384643555,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "64186f05.4be35"
+ ]
+ ]
+ },
+ {
+ "id": "e5572f4b.0166d",
+ "type": "switchNode",
+ "name": "switch tmp.found-in-ar",
+ "xml": "<switch test='`$tmp.found-in-ar`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1553.0106105804443,
+ "y": 975.4549942016602,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "23e2fd66.fcd7c2"
+ ]
+ ]
+ },
+ {
+ "id": "23e2fd66.fcd7c2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1776.0106563568115,
+ "y": 974.5661640167236,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "8fa1eba4.3c67f8"
+ ]
+ ]
+ },
+ {
+ "id": "8fa1eba4.3c67f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1966.0106868743896,
+ "y": 974.5662136077881,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "5c438258.2817dc"
+ ]
+ ]
+ },
+ {
+ "id": "5c438258.2817dc",
+ "type": "get-resource",
+ "name": "get-resource provided-ar.allotted-resource",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$tmp.provided-ar.allotted-resource-id/' pfx='mdsal-other-ar' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 2271.4550399780273,
+ "y": 1026.5662593841553,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "75e596c5.28a268",
+ "3fc2682f.986b78"
+ ]
+ ]
+ },
+ {
+ "id": "75e596c5.28a268",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2571.128242492676,
+ "y": 1011.7949905395508,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "2d352ea7.0e12c2"
+ ]
+ ]
+ },
+ {
+ "id": "3fc2682f.986b78",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2562.9800453186035,
+ "y": 1046.8610754013062,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "1ccb7b0b.274855"
+ ]
+ ]
+ },
+ {
+ "id": "abb4ba72.e83978",
+ "type": "switchNode",
+ "name": "switch mdsal-psd.networks_length",
+ "xml": "<switch test='`$mdsal-psd.networks.network_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1550.3441162109375,
+ "y": 1127.8997802734375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "7abae666.d51f58",
+ "f199acdb.1cc56"
+ ]
+ ]
+ },
+ {
+ "id": "f199acdb.1cc56",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1829.343994140625,
+ "y": 1137.78857421875,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "362dc46c.af4b8c"
+ ]
+ ]
+ },
+ {
+ "id": "7abae666.d51f58",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1823.3441162109375,
+ "y": 1197.78857421875,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "7c1c105.99f43f"
+ ]
+ ]
+ },
+ {
+ "id": "7c1c105.99f43f",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Incorrect state found more then 1 network\" />\n \n",
+ "comments": "",
+ "x": 1979.9964599609375,
+ "y": 1198.890380859375,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "df5ebca6.dc1ea",
+ "type": "set",
+ "name": "set tmp.network.",
+ "xml": "<set>\n<parameter name='tmp.network.' value='`$mdsal-psd.networks.network[0].`' />\n",
+ "comments": "",
+ "x": 2276.7888259887695,
+ "y": 1121.7887411117554,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4884d527.f966cc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1296.455078125,
+ "y": 1029.7885131835938,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "abb4ba72.e83978"
+ ]
+ ]
+ },
+ {
+ "id": "362dc46c.af4b8c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2021.1217041015625,
+ "y": 1140.7884521484375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "df5ebca6.dc1ea",
+ "37668a8f.d84a36"
+ ]
+ ]
+ },
+ {
+ "id": "37668a8f.d84a36",
+ "type": "for",
+ "name": "for nidx..tmp.network.network-data.network-request-input.network...[]",
+ "xml": "<for index='nidx' start='0' end='`$tmp.network.network-data.network-request-input.network-input-parameters.param_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.1218338012695,
+ "y": 1188.7885284423828,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "8d783898.486c38"
+ ]
+ ]
+ },
+ {
+ "id": "8d783898.486c38",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2809.67724609375,
+ "y": 1221.7884521484375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "f4f7612.08260a",
+ "4421135d.084d2c",
+ "5f144f0e.31549",
+ "37e78cdf.278a44",
+ "ed440eb3.36c94",
+ "f75e941b.01edb8",
+ "5523625.526319c",
+ "882c3718.7bb828",
+ "dae6d839.a75e08",
+ "bc77042c.0ab858"
+ ]
+ ]
+ },
+ {
+ "id": "f4f7612.08260a",
+ "type": "switchNode",
+ "name": "switch access-node-id",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$nidx].name == 'access-node-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 3015.1881942749023,
+ "y": 1069.7990770339966,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "5989197c.f6f7f8"
+ ]
+ ]
+ },
+ {
+ "id": "5989197c.f6f7f8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3204.1878204345703,
+ "y": 1071.7989416122437,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "b51d0ed2.6b0e5"
+ ]
+ ]
+ },
+ {
+ "id": "b51d0ed2.6b0e5",
+ "type": "set",
+ "name": "set tmp.found-in-network tmp.ep-available",
+ "xml": "<set>\n<parameter name='tmp.found-in-network' value='true' />\n<parameter name='tmp.ep-available' value='true' />",
+ "comments": "",
+ "x": 3457.1879959106445,
+ "y": 1071.3989877700806,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4421135d.084d2c",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 2996.1772994995117,
+ "y": 1526.7884120941162,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d1e1bdb5.615f1",
+ "type": "switchNode",
+ "name": "switch tmp.ep-available",
+ "xml": "<switch test='`$tmp.ep-available`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 706.3440551757812,
+ "y": 1292.2327880859375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "32c06766.90eaa8",
+ "3e428e4a.b1f8b2"
+ ]
+ ]
+ },
+ {
+ "id": "3e428e4a.b1f8b2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 925.0107746124268,
+ "y": 1341.5661449432373,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "5db74705.3b89f8"
+ ]
+ ]
+ },
+ {
+ "id": "32c06766.90eaa8",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 929.8995761871338,
+ "y": 1250.5662059783936,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "64e7831f.72ebbc"
+ ]
+ ]
+ },
+ {
+ "id": "64e7831f.72ebbc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1076.8995723724365,
+ "y": 1252.4550189971924,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "5db74705.3b89f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1095.121862411499,
+ "y": 1339.5661029815674,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "3c2f6627.61512a",
+ "380c3c36.553114",
+ "42f94a2e.999604"
+ ]
+ ]
+ },
+ {
+ "id": "3c2f6627.61512a",
+ "type": "switchNode",
+ "name": "switch tmp.found-in-ar",
+ "xml": "<switch test='`$tmp.found-in-ar`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1325.23291015625,
+ "y": 1274.566162109375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "d79615f7.087d78",
+ "1c319701.787ef9"
+ ]
+ ]
+ },
+ {
+ "id": "d79615f7.087d78",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1545.677282333374,
+ "y": 1260.5661029815674,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ba9cd8cc.15f248"
+ ]
+ ]
+ },
+ {
+ "id": "1c319701.787ef9",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1546.67724609375,
+ "y": 1306.566162109375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "719bb92a.4ee018"
+ ]
+ ]
+ },
+ {
+ "id": "ba9cd8cc.15f248",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1733.232946395874,
+ "y": 1257.5661029815674,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "a6fc819d.1ebca"
+ ]
+ ]
+ },
+ {
+ "id": "719bb92a.4ee018",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1734.23291015625,
+ "y": 1305.566162109375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "815fbac.230c748"
+ ]
+ ]
+ },
+ {
+ "id": "25783fac.20762",
+ "type": "comment",
+ "name": "GET connection-attachment-ar to store AR data from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 2265.5040397644043,
+ "y": 416.5039129257202,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b02bb1b6.e7f4b",
+ "type": "comment",
+ "name": "Set source end point",
+ "info": "",
+ "comments": "",
+ "x": 671.0039176940918,
+ "y": 562.2539224624634,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "cb89d188.f33cc",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 725,
+ "y": 701,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f37fbd01.3a27c",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961,
+ "y": 729,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "204f751a.862bca"
+ ]
+ ]
+ },
+ {
+ "id": "a7659493.fc2068",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 952.8518028259277,
+ "y": 764.0660848617554,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "7b61e92b.2f9e78"
+ ]
+ ]
+ },
+ {
+ "id": "7b61e92b.2f9e78",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1128.00048828125,
+ "y": 760.3334350585938,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "204f751a.862bca",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1112,
+ "y": 727,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "1ccb7b0b.274855",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN provided attachment resource not found\" />\n \n",
+ "comments": "",
+ "x": 2732.9999256134033,
+ "y": 1048.0000953674316,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2d352ea7.0e12c2",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2716.9999256134033,
+ "y": 1009.0000953674316,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "3bc10ee7.beb432",
+ "type": "set",
+ "name": "set tmp.found-in-ar tmp.found-in-network tmp.ep-available to false",
+ "xml": "<set>\n<parameter name='tmp.found-in-ar' value='false' />\n<parameter name='tmp.found-in-network' value='false' />\n<parameter name='tmp.ep-available' value='false' />",
+ "comments": "",
+ "x": 817,
+ "y": 846,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c79a6189.fcf2c",
+ "type": "comment",
+ "name": "If other EP exists set destination end point",
+ "info": "Check if other allotted resource is available.",
+ "comments": "",
+ "x": 757,
+ "y": 1217,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bac44858.bd4fb8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1524,
+ "y": 1423,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "43736465.ded50c",
+ "1f0536d6.03d209",
+ "1c6c8b83.e7b554",
+ "804dff2.f416",
+ "faab91d9.9baa6",
+ "40922023.6161",
+ "cce7fa52.3ac5b8",
+ "afdc2a42.250d98"
+ ]
+ ]
+ },
+ {
+ "id": "43736465.ded50c",
+ "type": "switchNode",
+ "name": "switch access-node-id",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'access-node-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1760.51025390625,
+ "y": 1356.0103759765625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "327e9777.bfc4d8"
+ ]
+ ]
+ },
+ {
+ "id": "1f0536d6.03d209",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 1733.5002059936523,
+ "y": 1661.0003395080566,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1c6c8b83.e7b554",
+ "type": "switchNode",
+ "name": "switch access-ltp-id",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'access-ltp-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1752.0000839233398,
+ "y": 1399.777907371521,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "a140ea29.0beb08"
+ ]
+ ]
+ },
+ {
+ "id": "804dff2.f416",
+ "type": "switchNode",
+ "name": "switch clientSignal",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'clientSignal'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1746.0001220703125,
+ "y": 1445.7779541015625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ce02a989.0990f8"
+ ]
+ ]
+ },
+ {
+ "id": "faab91d9.9baa6",
+ "type": "switchNode",
+ "name": "switch cVLAN",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'cVLAN'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1729.9896240234375,
+ "y": 1484.7674560546875,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "f26df0a2.edf49"
+ ]
+ ]
+ },
+ {
+ "id": "327e9777.bfc4d8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1938.22216796875,
+ "y": 1356.666748046875,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ded3a3b2.bb6de"
+ ]
+ ]
+ },
+ {
+ "id": "ded3a3b2.bb6de",
+ "type": "set",
+ "name": "set dst-access-node-id",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.access-node-id' value='`$tmp.ep.parameters.param[$idx].value`' />",
+ "comments": "",
+ "x": 2111.22216796875,
+ "y": 1356.2667236328125,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a140ea29.0beb08",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1933.7120361328125,
+ "y": 1399.4342041015625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "d26fb8e0.ff59f8"
+ ]
+ ]
+ },
+ {
+ "id": "ce02a989.0990f8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1933.7120361328125,
+ "y": 1445.4342041015625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ee911b75.034b28"
+ ]
+ ]
+ },
+ {
+ "id": "f26df0a2.edf49",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1933.7015380859375,
+ "y": 1484.423828125,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "16f5641b.4b39fc"
+ ]
+ ]
+ },
+ {
+ "id": "380c3c36.553114",
+ "type": "for",
+ "name": "for idx..tmp.ep.parameters[]",
+ "xml": "<for index='idx' start='0' end='`$tmp.ep.parameters.param_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1342,
+ "y": 1356,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "bac44858.bd4fb8"
+ ]
+ ]
+ },
+ {
+ "id": "a6fc819d.1ebca",
+ "type": "set",
+ "name": "set tmp.ep.parameters",
+ "xml": "<set>\n<parameter name='tmp.ep.parameters' value='`$mdsal-other-ar.allotted-resource-data.connection-attachment-topology.connection-attachment-parameters`' />",
+ "comments": "",
+ "x": 1945,
+ "y": 1257,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "815fbac.230c748",
+ "type": "set",
+ "name": "set tmp.ep.parameters",
+ "xml": "<set>\n<parameter name='tmp.ep.parameters' value='`$tmp.network.network-data.network-request-input.network-input-parameters`' />\n",
+ "comments": "",
+ "x": 1945.999963760376,
+ "y": 1301.0000591278076,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d26fb8e0.ff59f8",
+ "type": "set",
+ "name": "set dst-access-node-id",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.access-ltp-id' value='`$tmp.ep.parameters.param[$idx].value`' />",
+ "comments": "",
+ "x": 2111,
+ "y": 1399,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ee911b75.034b28",
+ "type": "set",
+ "name": "set dst-clientSignal",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.clientSignal' value='`$tmp.ep.parameters.param[$idx].value`' />",
+ "comments": "",
+ "x": 2105,
+ "y": 1443,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "16f5641b.4b39fc",
+ "type": "set",
+ "name": "set dst-cVLAN",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.cVLAN' value='`$tmp.ep.parameters.param[$idx].value`' />",
+ "comments": "",
+ "x": 2096,
+ "y": 1482,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "42f94a2e.999604",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 736,
+ "y": 1584,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "cb687dc5.52b2d",
+ "4ed51df6.e8ec54"
+ ]
+ ]
+ },
+ {
+ "id": "164aff86.323ed",
+ "type": "comment",
+ "name": "Get controller info and send request",
+ "info": "",
+ "comments": "",
+ "x": 686,
+ "y": 1546,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9edea41a.d68a58",
+ "type": "execute",
+ "name": "execute RestApiCallNode Create ethernet Service",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + 'restconf/data/ietf-eth-tran-service:etht-svc'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"patch\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1379.0000305175781,
+ "y": 2062.0007610321045,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "616e1655.379198",
+ "b0089735.e037f8"
+ ]
+ ]
+ },
+ {
+ "id": "616e1655.379198",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1666.0000228881836,
+ "y": 2083.0007104873657,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "96c14b60.8835b8"
+ ]
+ ]
+ },
+ {
+ "id": "96c14b60.8835b8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1835.9999618530273,
+ "y": 2086.0007104873657,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "a39478d4.ff01e8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+ "comments": "",
+ "x": 1836.0000839233398,
+ "y": 2042.0007104873657,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b0089735.e037f8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1668.9999618530273,
+ "y": 2042.0007104873657,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "a39478d4.ff01e8"
+ ]
+ ]
+ },
+ {
+ "id": "ed031fec.cf219",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1018.7622451782227,
+ "y": 2481.953144431114,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "2bd27313.7e4a0c"
+ ]
+ ]
+ },
+ {
+ "id": "2bd27313.7e4a0c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1185.2861251831055,
+ "y": 2493.572215437889,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "581d8c50.26f904",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1025.8575325012207,
+ "y": 2514.715112090111,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "2bd27313.7e4a0c"
+ ]
+ ]
+ },
+ {
+ "id": "9aeb74dd.a24a08",
+ "type": "comment",
+ "name": "Save Resource to AAI",
+ "info": "",
+ "comments": "",
+ "x": 737.8099594116211,
+ "y": 2464.302532672882,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9158a090.142c2",
+ "type": "comment",
+ "name": "TODO: Rework after confirmation from AAI",
+ "info": "",
+ "comments": "",
+ "x": 1038.1688690185547,
+ "y": 2441.873571395874,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f9e2a4f.0cf5858",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 752.5776557922363,
+ "y": 2385.828013896942,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6afb5fe5.f951c",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 720.9907379150391,
+ "y": 2546.443766117096,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9ab0f309.357b6",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.sotn-attachment.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 802.309757232666,
+ "y": 2293.4687876701355,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "cf614e80.0a4b3",
+ "6d53da86.669ad4",
+ "131ccd05.2f3143"
+ ]
+ ]
+ },
+ {
+ "id": "cf614e80.0a4b3",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1070.9511337280273,
+ "y": 2344.8001994118094,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ef1dfc84.71501"
+ ]
+ ]
+ },
+ {
+ "id": "6d53da86.669ad4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1061.9511833190918,
+ "y": 2313.300225161016,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ef1dfc84.71501"
+ ]
+ ]
+ },
+ {
+ "id": "131ccd05.2f3143",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1065.7012214660645,
+ "y": 2283.6573300361633,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "e18bb85.a259b48"
+ ]
+ ]
+ },
+ {
+ "id": "ef1dfc84.71501",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1231.7012214660645,
+ "y": 2314.050249002874,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e18bb85.a259b48",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1207.3571891784668,
+ "y": 2279.8494992256165,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "bef55f2e.ad6b3",
+ "type": "set",
+ "name": "set ar-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-status.action' value=\"`$connection-attachment-topology-operation-input.request-information.request-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value=\"connection-attachment-topology-operation\" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$connection-attachment-topology-operation-input.request-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$connection-attachment-topology-operation-input.service-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.` \" />",
+ "comments": "",
+ "x": 707.5233535766602,
+ "y": 2144.849767923355,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d7f464d6.9ac5f8",
+ "type": "execute",
+ "name": "execute getTime",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 724.809196472168,
+ "y": 2217.4693655967712,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "a66d68ee.9308e8",
+ "type": "set",
+ "name": "set allotted-resource-oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Active' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n",
+ "comments": "",
+ "x": 774.7962760925293,
+ "y": 2254.420445919037,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "36004db7.4505d2",
+ "type": "set",
+ "name": "set model-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` \" />",
+ "comments": "",
+ "x": 721.3648948669434,
+ "y": 2184.0244183540344,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8c652fd0.4d9e2",
+ "type": "comment",
+ "name": "Prepare data for allotted-resource addition to MDSAL",
+ "info": "This will add to allotted-resource which is present inside service.",
+ "comments": "",
+ "x": 834.698356628418,
+ "y": 2105.0243704319,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "69186aa2.60ef84",
+ "type": "comment",
+ "name": "Add to allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 776.2781829833984,
+ "y": 2072.437672138214,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "7b232ea8.d345",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`\" />\n\t<parameter name=\"operational-status\" value=\"Active\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 764.2542381286621,
+ "y": 2501.754675388336,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "ed031fec.cf219",
+ "581d8c50.26f904"
+ ]
+ ]
+ },
+ {
+ "id": "cb687dc5.52b2d",
+ "type": "execute",
+ "name": "execute RestApiCallNode getPath from OOF",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.restapi.connection-oof-url'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.oof.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.oof.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"oof\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1043.0040130615234,
+ "y": 1572.2544918060303,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "e275a7ba.f6ec08",
+ "ec20f395.66c91"
+ ]
+ ]
+ },
+ {
+ "id": "e275a7ba.f6ec08",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1350.0039558410645,
+ "y": 1593.2543387413025,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "d000e963.b327a8"
+ ]
+ ]
+ },
+ {
+ "id": "d000e963.b327a8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1520.0038948059082,
+ "y": 1596.2543387413025,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "773ede9b.4ecb",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+ "comments": "",
+ "x": 1520.0040168762207,
+ "y": 1552.2543387413025,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ec20f395.66c91",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1353.0038948059082,
+ "y": 1552.2543387413025,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "773ede9b.4ecb"
+ ]
+ ]
+ },
+ {
+ "id": "461ac2a4.5bdfec",
+ "type": "comment",
+ "name": "Get VPNs from OOF",
+ "info": "",
+ "comments": "",
+ "x": 963.0079040527344,
+ "y": 1535.2584590911865,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4ed51df6.e8ec54",
+ "type": "for",
+ "name": "for vidx..oof.vpns_length[]",
+ "xml": "<for index='vidx' start='0' end='`$oof.vpns_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 994.0039024353027,
+ "y": 1656.5040574073792,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "fa8596fd.dc6fb8"
+ ]
+ ]
+ },
+ {
+ "id": "9e6cff97.3e047",
+ "type": "comment",
+ "name": "Loop through VPN and configure them",
+ "info": "",
+ "comments": "",
+ "x": 1016.004020690918,
+ "y": 1620.0043177604675,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5f144f0e.31549",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2994.7882919311523,
+ "y": 1167.1217517852783,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "36d080c6.aaac9"
+ ]
+ ]
+ },
+ {
+ "id": "36d080c6.aaac9",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3181.788299560547,
+ "y": 1161.1216888427734,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "dd94e80d.e79a58"
+ ]
+ ]
+ },
+ {
+ "id": "dd94e80d.e79a58",
+ "type": "set",
+ "name": "set etht-svc-name & bandwidth-profile-name",
+ "xml": "<set>\n<parameter name='prop.global.sotn.etht-svc-name' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n<parameter name='prop.global.sotn.bandwidth-profile-name' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3443.788589477539,
+ "y": 1147.721715927124,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "37e78cdf.278a44",
+ "type": "switchNode",
+ "name": "switch description",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'description'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3005.627960205078,
+ "y": 1205.1216869354248,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "87cfc59c.1be938"
+ ]
+ ]
+ },
+ {
+ "id": "87cfc59c.1be938",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3175.627960205078,
+ "y": 1201.1216869354248,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "af30cb49.aad268"
+ ]
+ ]
+ },
+ {
+ "id": "af30cb49.aad268",
+ "type": "set",
+ "name": "set etht-svc-descr",
+ "xml": "<set>\n<parameter name='prop.global.sotn.etht-svc-descr' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3362.961400985718,
+ "y": 1199.5828437805176,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ed440eb3.36c94",
+ "type": "switchNode",
+ "name": "switch tenantId",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'tenantId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2991.010353088379,
+ "y": 1251.455090522766,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "824d6eab.2a9f8"
+ ]
+ ]
+ },
+ {
+ "id": "824d6eab.2a9f8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3183.010341644287,
+ "y": 1244.4550142288208,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "58ea9e80.950b3"
+ ]
+ ]
+ },
+ {
+ "id": "58ea9e80.950b3",
+ "type": "set",
+ "name": "set tenantId",
+ "xml": "<set>\n<parameter name='prop.global.sotn.tenantId' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3351.010341644287,
+ "y": 1245.0550203323364,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5523625.526319c",
+ "type": "switchNode",
+ "name": "switch CIR",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'CIR'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2977.849998474121,
+ "y": 1338.455072402954,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "6cc5147d.9f838c"
+ ]
+ ]
+ },
+ {
+ "id": "6cc5147d.9f838c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3185.850067138672,
+ "y": 1334.4550857543945,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "5119c20c.53e31c"
+ ]
+ ]
+ },
+ {
+ "id": "5119c20c.53e31c",
+ "type": "set",
+ "name": "set cir",
+ "xml": "<set>\n<parameter name='prop.sotn.cir' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3335.1833877563477,
+ "y": 1332.9162330627441,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f75e941b.01edb8",
+ "type": "switchNode",
+ "name": "switch vpnType",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'vpnType'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2997.1584701538086,
+ "y": 1292.2327914237976,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "94f8c651.7d4c68"
+ ]
+ ]
+ },
+ {
+ "id": "94f8c651.7d4c68",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3184.1584701538086,
+ "y": 1288.2327914237976,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "a2401fbd.0e5a6"
+ ]
+ ]
+ },
+ {
+ "id": "a2401fbd.0e5a6",
+ "type": "set",
+ "name": "set vpnType",
+ "xml": "<set>\n<parameter name='prop.global.sotn.vpnType' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3353.49210357666,
+ "y": 1285.693956375122,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "882c3718.7bb828",
+ "type": "switchNode",
+ "name": "switch EIR",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'EIR'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2979.140449523926,
+ "y": 1381.1529388427734,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "6a090cfc.b29bc4"
+ ]
+ ]
+ },
+ {
+ "id": "6a090cfc.b29bc4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3181.140411376953,
+ "y": 1376.152958869934,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "7cfdc8c0.796128"
+ ]
+ ]
+ },
+ {
+ "id": "7cfdc8c0.796128",
+ "type": "set",
+ "name": "set eir",
+ "xml": "<set>\n<parameter name='prop.global.sotn.eir' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3337.4739151000977,
+ "y": 1375.614094734192,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "dae6d839.a75e08",
+ "type": "switchNode",
+ "name": "switch color-aware",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'color-aware'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3006.1407203674316,
+ "y": 1435.152904510498,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "1c170ed.c3c73f1"
+ ]
+ ]
+ },
+ {
+ "id": "1c170ed.c3c73f1",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3184.140724182129,
+ "y": 1429.1528968811035,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "aafef618.cfb6d8"
+ ]
+ ]
+ },
+ {
+ "id": "aafef618.cfb6d8",
+ "type": "set",
+ "name": "set colorAware",
+ "xml": "<set>\n<parameter name='prop.global.sotn.colorAware' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3365.4741020202637,
+ "y": 1428.614055633545,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bc77042c.0ab858",
+ "type": "switchNode",
+ "name": "switch coupling-flag",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'coupling-flag'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3006.140727996826,
+ "y": 1481.1529293060303,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "9c20abd0.a9e0c8"
+ ]
+ ]
+ },
+ {
+ "id": "9c20abd0.a9e0c8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3184.1407203674316,
+ "y": 1473.1528978347778,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "28950acd.c17166"
+ ]
+ ]
+ },
+ {
+ "id": "28950acd.c17166",
+ "type": "set",
+ "name": "set couplingFlag",
+ "xml": "<set>\n<parameter name='prop.global.sotn.couplingFlag' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 3369.4741020202637,
+ "y": 1473.6140804290771,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "dddada55.283bb8",
+ "type": "comment",
+ "name": "Check if other EP exists in SOTNConnectionResource",
+ "info": "",
+ "comments": "",
+ "x": 3109.3440551757812,
+ "y": 1034.7883319854736,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e2fb1fc.98e08e",
+ "type": "comment",
+ "name": "Get other global parameters from network",
+ "info": "",
+ "comments": "",
+ "x": 3080.3438568115234,
+ "y": 1126.7882843017578,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "40922023.6161",
+ "type": "switchNode",
+ "name": "switch access-provider-id",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'access-provider-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1767.56591796875,
+ "y": 1530.232666015625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "dcc5b1ab.d080a"
+ ]
+ ]
+ },
+ {
+ "id": "dcc5b1ab.d080a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1954.56591796875,
+ "y": 1526.232666015625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "61749b73.8eae04"
+ ]
+ ]
+ },
+ {
+ "id": "61749b73.8eae04",
+ "type": "set",
+ "name": "set access-provider-id",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.access-provider-id' value='`$tmp.ep.parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 2122.56591796875,
+ "y": 1526.8326721191406,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "cce7fa52.3ac5b8",
+ "type": "switchNode",
+ "name": "switch access-client-id",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'access-client-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1758.565933227539,
+ "y": 1573.2431144714355,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "17cba761.8a69d9"
+ ]
+ ]
+ },
+ {
+ "id": "17cba761.8a69d9",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1945.565933227539,
+ "y": 1569.2431144714355,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "e72fdf36.f1b28"
+ ]
+ ]
+ },
+ {
+ "id": "e72fdf36.f1b28",
+ "type": "set",
+ "name": "set access-client-id",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.access-client-id' value='`$tmp.ep.parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 2113.565933227539,
+ "y": 1569.8431205749512,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "afdc2a42.250d98",
+ "type": "switchNode",
+ "name": "switch access-topology-id",
+ "xml": "<switch test=\"`$tmp.ep.parameters.param[$idx].name == 'access-topology-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 1771.5658779144287,
+ "y": 1615.2431454658508,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "d336b3c.0b7875"
+ ]
+ ]
+ },
+ {
+ "id": "d336b3c.0b7875",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1958.5658779144287,
+ "y": 1611.2431454658508,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "85508473.900a98"
+ ]
+ ]
+ },
+ {
+ "id": "85508473.900a98",
+ "type": "set",
+ "name": "set access-topology-id",
+ "xml": "<set>\n<parameter name='prop.remote.connection-attachment.access-topology-id' value='`$tmp.ep.parameters.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 2126.5658779144287,
+ "y": 1611.8431515693665,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fa8596fd.dc6fb8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1066.1213836669922,
+ "y": 1742.3442287445068,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "9edea41a.d68a58",
+ "abb09171.f6ee",
+ "abc114d6.41e528",
+ "9b39618e.ffe5f"
+ ]
+ ]
+ },
+ {
+ "id": "521aa066.c8761",
+ "type": "set",
+ "name": "set controller data",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n",
+ "comments": "",
+ "x": 1764.56591796875,
+ "y": 1896.6771240234375,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "abb09171.f6ee",
+ "type": "get-resource",
+ "name": "get-resource esr-thirdparty-sdnc",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1328.0658569335938,
+ "y": 1955.6771240234375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "b2bcb2cd.da9e",
+ "d1f1ad90.96011",
+ "bed51f39.f008"
+ ]
+ ]
+ },
+ {
+ "id": "b2bcb2cd.da9e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1567.0658569335938,
+ "y": 1908.6771240234375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "521aa066.c8761"
+ ]
+ ]
+ },
+ {
+ "id": "d1f1ad90.96011",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1570.5568237304688,
+ "y": 1956.2511596679688,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "d02c15ce.c1c438"
+ ]
+ ]
+ },
+ {
+ "id": "bed51f39.f008",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1565.8898315429688,
+ "y": 1997.58447265625,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "1dfb5bf0.cbb2c4"
+ ]
+ ]
+ },
+ {
+ "id": "d02c15ce.c1c438",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1747.1282348632812,
+ "y": 1944.5368957519531,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1dfb5bf0.cbb2c4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1753.6623878479004,
+ "y": 1993.0236654281616,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "abc114d6.41e528",
+ "type": "get-resource",
+ "name": "get-resource pnf",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"pnf\" \n\t\tkey=\"pnf.pnf-name = $oof.vpn.access-node-id AND \n\t\t depth = '0'\"\n pfx='tmp.aai.pnf' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1274.56591796875,
+ "y": 1768.6771240234375,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "e5c7f4bb.a977b8",
+ "c9ac24e7.49a298",
+ "89a637ca.249d28"
+ ]
+ ]
+ },
+ {
+ "id": "e5c7f4bb.a977b8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1621.5658569335938,
+ "y": 1772.6771545410156,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "9bb25e1d.4626"
+ ]
+ ]
+ },
+ {
+ "id": "c9ac24e7.49a298",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1625.0568237304688,
+ "y": 1820.2511901855469,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "700f50e2.2becf"
+ ]
+ ]
+ },
+ {
+ "id": "89a637ca.249d28",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1620.3898315429688,
+ "y": 1861.5845031738281,
+ "z": "205403e9.560efc",
+ "wires": [
+ [
+ "634a1d02.90e474"
+ ]
+ ]
+ },
+ {
+ "id": "700f50e2.2becf",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n",
+ "comments": "",
+ "x": 1801.6282348632812,
+ "y": 1808.5369262695312,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "634a1d02.90e474",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n",
+ "comments": "",
+ "x": 1808.1623878479004,
+ "y": 1857.0236959457397,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9bb25e1d.4626",
+ "type": "set",
+ "name": "set tmp.thirdparty-sdnc-id",
+ "xml": "<set>\n<parameter name='tmp.thirdparty-sdnc-id' value=\"`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`\" />\n",
+ "comments": "",
+ "x": 1825.5658569335938,
+ "y": 1759.6771545410156,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f371e386.134de",
+ "type": "comment",
+ "name": "get domain controller information",
+ "info": "",
+ "comments": "",
+ "x": 1319.0697860717773,
+ "y": 1734.6810216903687,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9b39618e.ffe5f",
+ "type": "set",
+ "name": "set oof.vpn",
+ "xml": "<set>\n<parameter name='oof.vpn.' value='`$oof.vpns[$vidx].`' />",
+ "comments": "",
+ "x": 1256.5658874511719,
+ "y": 1695.7881488800049,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ab06a549.912008",
+ "type": "comment",
+ "name": "TODO: Add VPN resource and its relation with SOTN Connectivity resource",
+ "info": "",
+ "comments": "",
+ "x": 1452.0103912353516,
+ "y": 2134.6769676208496,
+ "z": "205403e9.560efc",
+ "wires": [
+
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.json
new file mode 100644
index 00000000..df8edd0c
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.json
@@ -0,0 +1,1281 @@
+[
+ {
+ "id": "325842f8.71766e",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 107.03125,
+ "y": 44.03125,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "260e5d2a.9ebe72"
+ ]
+ ]
+ },
+ {
+ "id": "260e5d2a.9ebe72",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 319.03125381469727,
+ "y": 116.0312671661377,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "aa492387.d875a"
+ ]
+ ]
+ },
+ {
+ "id": "aa492387.d875a",
+ "type": "method",
+ "name": "sotn-attachment-topology-operation-create",
+ "xml": "<method rpc='sotn-attachment-topology-operation-create' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 307.0313720703125,
+ "y": 204.03125,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "3ba2475a.82b468"
+ ]
+ ]
+ },
+ {
+ "id": "3ba2475a.82b468",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 227.03130340576172,
+ "y": 953.0314979553223,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "5b9fedc5.bb21a4",
+ "1c8d2bb9.f29f94",
+ "269db4cc.d4abfc",
+ "373e17e2.9acc38",
+ "5fd13a1.e2465c4",
+ "acb04fc4.b40f4",
+ "574b7ca7.0881c4",
+ "35a496d5.57302a",
+ "950a621f.7b821",
+ "5dbf4a35.fd12c4",
+ "5accbcde.210f64",
+ "de4bba44.8919f8",
+ "a1a37b4b.52c8a8",
+ "63023c8e.9fcb64",
+ "a6efd3b6.3278d",
+ "994d951b.a5b738",
+ "8ee1af3e.bbe67",
+ "ad95dda4.7a6dd",
+ "efc5e53d.5d75a8",
+ "72c54e75.d1648",
+ "850178e9.7d2408",
+ "d5054e0.23964b",
+ "acacc6b8.9b06e8"
+ ]
+ ]
+ },
+ {
+ "id": "741c9c3f.224ea4",
+ "type": "comment",
+ "name": "Set allotted resource id if not sent by SO",
+ "info": "",
+ "comments": "",
+ "x": 698.1079406738281,
+ "y": 128.46516609191895,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5b9fedc5.bb21a4",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 657.0312805175781,
+ "y": 169.03124237060547,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "8be7a33f.276ac",
+ "503fc7ba.f0e4b8"
+ ]
+ ]
+ },
+ {
+ "id": "8be7a33f.276ac",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 908.0313301086426,
+ "y": 131.03122925758362,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "32f9a898.99bcd8"
+ ]
+ ]
+ },
+ {
+ "id": "503fc7ba.f0e4b8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 909.03125,
+ "y": 191.03123784065247,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "4eae44ec.25255c"
+ ]
+ ]
+ },
+ {
+ "id": "4eae44ec.25255c",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n",
+ "comments": "",
+ "x": 1141.031234741211,
+ "y": 191.03124260902405,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1c8d2bb9.f29f94",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 629.0311737060547,
+ "y": 404.031307220459,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "269db4cc.d4abfc",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 635.2930946350098,
+ "y": 489.69798469543457,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "373e17e2.9acc38",
+ "type": "execute",
+ "name": "generate allotted-resource tmp.ar-url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 682.2930755615234,
+ "y": 573.6979522705078,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "32f9a898.99bcd8",
+ "type": "execute",
+ "name": "execute tmp.ar.allotted-resource-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"tmp.ar.allotted-resource-id\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1123.031307220459,
+ "y": 132.03123497962952,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "4b3e3360.e596bc"
+ ]
+ ]
+ },
+ {
+ "id": "4b3e3360.e596bc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1341.031349182129,
+ "y": 132.0311987400055,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "a0c9c52c.3e6d68"
+ ]
+ ]
+ },
+ {
+ "id": "a0c9c52c.3e6d68",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while generation allotted resource ID\" />\n",
+ "comments": "",
+ "x": 1507.0313034057617,
+ "y": 132.03121304512024,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5fd13a1.e2465c4",
+ "type": "get-resource",
+ "name": "get-resource connection-attachment-allotted-resource",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$tmp.ar.allotted-resource-id/' pfx='mdsal-ar' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 730.03125,
+ "y": 668.8090553283691,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "2117b9a.1971446"
+ ]
+ ]
+ },
+ {
+ "id": "2117b9a.1971446",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1050.0313301086426,
+ "y": 670.8090124130249,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "7534c2b3.76410c"
+ ]
+ ]
+ },
+ {
+ "id": "bd6696ff.0a7a78",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error: Existing connection attachment allotted resource\" />\n \n",
+ "comments": "",
+ "x": 1783.5497093200684,
+ "y": 671.8750839233398,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8d0e7e60.f9de9",
+ "type": "comment",
+ "name": "Check for non existence of allotted resource",
+ "info": "",
+ "comments": "",
+ "x": 694.0312881469727,
+ "y": 634.8091058731079,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e79f21cd.1a744",
+ "type": "for",
+ "name": "for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]",
+ "xml": "<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1592.6979064941406,
+ "y": 867.0312929153442,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "e0cc70b5.ec5cb"
+ ]
+ ]
+ },
+ {
+ "id": "574b7ca7.0881c4",
+ "type": "switchNode",
+ "name": "switch service-data.consumed-allotted-resources_length",
+ "xml": "<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 745.6972923278809,
+ "y": 827.7452943325043,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "d641745.a8dc988",
+ "10ab333.e534fcd"
+ ]
+ ]
+ },
+ {
+ "id": "d641745.a8dc988",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1067.840175628662,
+ "y": 830.6027162075043,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "7824e75b.697748"
+ ]
+ ]
+ },
+ {
+ "id": "10ab333.e534fcd",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1055.8401794433594,
+ "y": 873.6027176380157,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "c987fa4d.92cd08"
+ ]
+ ]
+ },
+ {
+ "id": "c987fa4d.92cd08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1215.967269897461,
+ "y": 871.7286942005157,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "e79f21cd.1a744",
+ "bae4bbfe.22ddd8",
+ "de19c440.aed268"
+ ]
+ ]
+ },
+ {
+ "id": "7824e75b.697748",
+ "type": "set",
+ "name": "set cidx",
+ "xml": "<set>\n<parameter name='tmp.cidx' value=\"`0`\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value=\"1\" />\n\n\n",
+ "comments": "",
+ "x": 1226.6971473693848,
+ "y": 830.3167788982391,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "35a496d5.57302a",
+ "type": "set",
+ "name": "set consumed allotted resources",
+ "xml": "<set>\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value=\"`$tmp.ar.self-link` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\n\n",
+ "comments": "",
+ "x": 671.554573059082,
+ "y": 900.31689453125,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bae4bbfe.22ddd8",
+ "type": "switchNode",
+ "name": "switch tmp.found-cidx",
+ "xml": "<switch test='`$tmp.found-cidx`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1405.082317352295,
+ "y": 903.7402169704437,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "c9bdea6f.ae8408"
+ ]
+ ]
+ },
+ {
+ "id": "c9bdea6f.ae8408",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1595.0822715759277,
+ "y": 903.7401540279388,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "f4a1002.ec0e9"
+ ]
+ ]
+ },
+ {
+ "id": "f4a1002.ec0e9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1761.0822715759277,
+ "y": 903.7401540279388,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "efdba6bf.3fa178"
+ ]
+ ]
+ },
+ {
+ "id": "e0cc70b5.ec5cb",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2066.8093872070312,
+ "y": 867.0312767028809,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "cf1bcffb.5a97a"
+ ]
+ ]
+ },
+ {
+ "id": "cf1bcffb.5a97a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2291.619115829468,
+ "y": 869.4956977367401,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "9a928449.d9e6c8"
+ ]
+ ]
+ },
+ {
+ "id": "efdba6bf.3fa178",
+ "type": "set",
+ "name": "set tmp.cidx",
+ "xml": "<set>\n<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\n",
+ "comments": "",
+ "x": 2006.955617904663,
+ "y": 904.2518508434296,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "69a27589.0e830c",
+ "type": "comment",
+ "name": "Add to consumed service consumed-allotted-resources in mdsal",
+ "info": "Prepare data and add to service-data",
+ "comments": "",
+ "x": 764.6984901428223,
+ "y": 757.0312271118164,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b960d74c.b75ab8",
+ "type": "comment",
+ "name": "This set resource will be added to MDSAL by provider code",
+ "info": "Below we add to service-data.consumed-allotted-resource at last index",
+ "comments": "",
+ "x": 747.0313453674316,
+ "y": 864.8093509674072,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d5054e0.23964b",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`\" />\n\t<parameter name=\"operational-status\" value=\"Created\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 647.7220878601074,
+ "y": 1893.5631588697433,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "5db3e01e.d4ead",
+ "cde1c5f3.767a98"
+ ]
+ ]
+ },
+ {
+ "id": "5db3e01e.d4ead",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 903.4839973449707,
+ "y": 1876.5156625509262,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "3608fdb3.1050e2"
+ ]
+ ]
+ },
+ {
+ "id": "3608fdb3.1050e2",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1070.0078773498535,
+ "y": 1888.134733557701,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "cde1c5f3.767a98",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 910.5792846679688,
+ "y": 1909.2776302099228,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "3608fdb3.1050e2"
+ ]
+ ]
+ },
+ {
+ "id": "c4afab5c.baa998",
+ "type": "comment",
+ "name": "Save Resource to AAI",
+ "info": "",
+ "comments": "",
+ "x": 622.5317115783691,
+ "y": 1858.865050792694,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "88151412.9744b8",
+ "type": "comment",
+ "name": "Set allotted resource type if not sent by SO",
+ "info": "",
+ "comments": "",
+ "x": 701.0312194824219,
+ "y": 248.0312442779541,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "acb04fc4.b40f4",
+ "type": "switchNode",
+ "name": "switch allotted-resource-type",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 661.9545211791992,
+ "y": 281.59730529785156,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "66623b13.496cd4",
+ "4d39f4a7.b07cdc"
+ ]
+ ]
+ },
+ {
+ "id": "66623b13.496cd4",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 906.9546241760254,
+ "y": 252.59730625152588,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "98a097ca.0fb138"
+ ]
+ ]
+ },
+ {
+ "id": "4d39f4a7.b07cdc",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 907.9545440673828,
+ "y": 312.5973148345947,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "487657c2.991598"
+ ]
+ ]
+ },
+ {
+ "id": "487657c2.991598",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-type",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-type' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`' />\n",
+ "comments": "",
+ "x": 1139.9545288085938,
+ "y": 312.5973196029663,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "45c27762.ed75b8",
+ "type": "comment",
+ "name": "For storage in AAI connection-attachment-topology",
+ "info": "",
+ "comments": "",
+ "x": 723.0312042236328,
+ "y": 372.03126525878906,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9a37b9ec.57f5d8",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 701.0312004089355,
+ "y": 454.92014598846436,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "92fc6e78.11aa",
+ "type": "comment",
+ "name": "Used for Put AR by id to MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 665.0312347412109,
+ "y": 538.9201374053955,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "920f2559.59f028",
+ "type": "comment",
+ "name": "Obtain the last index in services",
+ "info": "ServiceData is added by Provider code",
+ "comments": "",
+ "x": 663.4757118225098,
+ "y": 792.9201095104218,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "78b042c2.3a757c",
+ "type": "comment",
+ "name": "TODO: Rework after confirmation from AAI",
+ "info": "",
+ "comments": "",
+ "x": 922.8906211853027,
+ "y": 1836.436089515686,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "850178e9.7d2408",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 636.2993774414062,
+ "y": 1806.3904213905334,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "acacc6b8.9b06e8",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 605.7124900817871,
+ "y": 1941.006284236908,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "98a097ca.0fb138",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-type",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-type' value=\"SOTNAttachmentInstance\" />\n",
+ "comments": "",
+ "x": 1146.0313110351562,
+ "y": 253.0312328338623,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ad95dda4.7a6dd",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-get-request-input-param",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='connection-attachment-get-request-input-param' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 761.0254058837891,
+ "y": 1637.5250849723816,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "72c54e75.d1648",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.sotn-attachment.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 696.0314865112305,
+ "y": 1678.0312724113464,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "cee5ccdb.56f91",
+ "343b1a53.f93b56",
+ "d836f528.1e2818"
+ ]
+ ]
+ },
+ {
+ "id": "cee5ccdb.56f91",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 964.6728630065918,
+ "y": 1729.3626841530204,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "7a6b84bb.83fdac"
+ ]
+ ]
+ },
+ {
+ "id": "343b1a53.f93b56",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 955.6729125976562,
+ "y": 1697.862709902227,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "7a6b84bb.83fdac"
+ ]
+ ]
+ },
+ {
+ "id": "d836f528.1e2818",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.4229507446289,
+ "y": 1668.2198147773743,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "2a50bed0.d894a2"
+ ]
+ ]
+ },
+ {
+ "id": "7a6b84bb.83fdac",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1125.422950744629,
+ "y": 1698.6127337440848,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2a50bed0.d894a2",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1101.0789184570312,
+ "y": 1664.4119839668274,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "de4bba44.8919f8",
+ "type": "execute",
+ "name": "execute RestApiCallNode - Update parent provided service AR",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"parent\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 761.0312156677246,
+ "y": 1198.031394958496,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "193ed140.775b6f",
+ "5734aea.1129c5",
+ "1e7e5c60.a431d4"
+ ]
+ ]
+ },
+ {
+ "id": "193ed140.775b6f",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1083.3392333984375,
+ "y": 1243.0296125411987,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "f7734abc.a1eef8"
+ ]
+ ]
+ },
+ {
+ "id": "5734aea.1129c5",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1074.339282989502,
+ "y": 1211.5296382904053,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "f7734abc.a1eef8"
+ ]
+ ]
+ },
+ {
+ "id": "1e7e5c60.a431d4",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1078.0893211364746,
+ "y": 1181.8867431655526,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "850e7d60.6ac59"
+ ]
+ ]
+ },
+ {
+ "id": "f7734abc.a1eef8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1244.0893211364746,
+ "y": 1212.2796621322632,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "850e7d60.6ac59",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1219.745288848877,
+ "y": 1178.0789123550057,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "34f114cf.2fe48c",
+ "type": "comment",
+ "name": "Put the parent allotted resource in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 685.0311508178711,
+ "y": 1166.0312938690186,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "63023c8e.9fcb64",
+ "type": "set",
+ "name": "set connection-attachment-ar-identifiers",
+ "xml": "<set>\n<parameter name='connection-attachment-ar-identifiers.consuming-service-instance-id' value=\"`$connection-attachment-topology-operation-input.service-information.service-instance-id` \" />\n<parameter name='connection-attachment-ar-identifiers.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n<parameter name='connection-attachment-ar-identifiers.allotted-resource-type' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='connection-attachment-ar-identifiers.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n\n",
+ "comments": "",
+ "x": 685.3883056640625,
+ "y": 1400.6029052734375,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a1a37b4b.52c8a8",
+ "type": "set",
+ "name": "set ar-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.action' value=\"`$connection-attachment-topology-operation-input.request-information.request-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value=\"connection-attachment-topology-operation\" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$connection-attachment-topology-operation-input.request-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$connection-attachment-topology-operation-input.service-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.` \" />",
+ "comments": "",
+ "x": 596.2451171875,
+ "y": 1359.4122314453125,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a6efd3b6.3278d",
+ "type": "set",
+ "name": "set identifiers in overall structure",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.' \nvalue=\"`$connection-attachment-ar-identifiers.`\" />\n\n\n",
+ "comments": "",
+ "x": 662.1981048583984,
+ "y": 1442.698115348816,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "994d951b.a5b738",
+ "type": "execute",
+ "name": "execute getTime",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.5309715270996,
+ "y": 1525.0316753387451,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "8ee1af3e.bbe67",
+ "type": "set",
+ "name": "set allotted-resource-oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n",
+ "comments": "",
+ "x": 664.5180320739746,
+ "y": 1560.9828262329102,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "efc5e53d.5d75a8",
+ "type": "set",
+ "name": "set model-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` \" />",
+ "comments": "",
+ "x": 606.0866241455078,
+ "y": 1479.586974143982,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "21b74746.c42fa8",
+ "type": "comment",
+ "name": "Prepare data for allotted-resource addition to MDSAL",
+ "info": "This will add to allotted-resource which is present inside service.",
+ "comments": "",
+ "x": 723.4201202392578,
+ "y": 1319.5868339538574,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5accbcde.210f64",
+ "type": "execute",
+ "name": "generate parent-ar url - replace allotted-resource-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.parent-ar-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.parent-ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 726.5312461853027,
+ "y": 1129.0312910079956,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "5dbf4a35.fd12c4",
+ "type": "execute",
+ "name": "generate parent-ar url - replace service-instance-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.parent-provided-resource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.parent-ar-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.parent-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 727.5311851501465,
+ "y": 1091.03134059906,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "52e7ff5.9702d",
+ "type": "comment",
+ "name": "Prepare Parent AR URL",
+ "info": "Preparation to set provided-allotted-resource in parent service instance",
+ "comments": "",
+ "x": 634.5316009521484,
+ "y": 1019.0313377380371,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "950a621f.7b821",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 679.5314331054688,
+ "y": 1055.53125,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "60a92f9f.3244e",
+ "type": "comment",
+ "name": "Required for filling template values",
+ "info": "This is done because connection-attachment is generic resource and doesn't have specific parameters",
+ "comments": "",
+ "x": 669.0316314697266,
+ "y": 1606.531012058258,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9a928449.d9e6c8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource as cosumed allotted resource already exists.\" />\n",
+ "comments": "",
+ "x": 2479.7880859375,
+ "y": 867.6770629882812,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "de19c440.aed268",
+ "type": "set",
+ "name": "set tmp.found-cidx",
+ "xml": "<set>\n<parameter name='tmp.found-cidx' value=\"`false`\" />\n\n\n",
+ "comments": "",
+ "x": 1395.6773529052734,
+ "y": 824.3438148498535,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a7c16e9b.5cd68",
+ "type": "comment",
+ "name": "Add to parent services provided-allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 744.2327270507812,
+ "y": 980.0104694366455,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d7647e1e.888aa",
+ "type": "comment",
+ "name": "Add to allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 664.9999465942383,
+ "y": 1287.0001356601715,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "7534c2b3.76410c",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1212.031150817871,
+ "y": 670.3089017868042,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "c557a49c.3881b8"
+ ]
+ ]
+ },
+ {
+ "id": "c557a49c.3881b8",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1399.8885307312012,
+ "y": 670.9280371665955,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "3936a0.d4fa496"
+ ]
+ ]
+ },
+ {
+ "id": "3936a0.d4fa496",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1599.2216529846191,
+ "y": 670.9281158447266,
+ "z": "5611e7fd.31c9b8",
+ "wires": [
+ [
+ "bd6696ff.0a7a78"
+ ]
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.json
new file mode 100644
index 00000000..f4f4f06c
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.json
@@ -0,0 +1,1777 @@
+[
+ {
+ "id": "8f583882.aaba08",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 107.66669082641602,
+ "y": 36.000003814697266,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "1c8f0b92.b2d0f4"
+ ]
+ ]
+ },
+ {
+ "id": "1c8f0b92.b2d0f4",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 319.6666946411133,
+ "y": 108.00002098083496,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "7867cbb1.cd6464"
+ ]
+ ]
+ },
+ {
+ "id": "7867cbb1.cd6464",
+ "type": "method",
+ "name": "sotn-attachment-topology-operation-deactivate",
+ "xml": "<method rpc='sotn-attachment-topology-operation-deactivate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 307.6668128967285,
+ "y": 196.00000381469727,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "788e5fc3.c5d94"
+ ]
+ ]
+ },
+ {
+ "id": "788e5fc3.c5d94",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 323.6668128967285,
+ "y": 751.0002484321594,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "ed3ad3e3.7e5ae",
+ "bfd4a9cf.aa7918",
+ "9c88cb66.2575d8",
+ "8484c7db.980518",
+ "3abce4e4.32a12c",
+ "d7eaa0c2.0d298",
+ "601263d0.9079dc",
+ "290c05a0.21ca9a",
+ "dfdf08a.1b550f8",
+ "5040dd33.924624",
+ "7ff9e776.cf4d98",
+ "5af6e72b.9d69a8",
+ "2d9aed4c.fcfbd2",
+ "1d49bda0.f37e32",
+ "285d454d.f5f90a",
+ "c5b69925.729378",
+ "bc602338.67328",
+ "f080d760.856678",
+ "8e738bcf.052208"
+ ]
+ ]
+ },
+ {
+ "id": "ed3ad3e3.7e5ae",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id,etc",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n",
+ "comments": "",
+ "x": 720.6602516174316,
+ "y": 149.99349069595337,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4411681c.96fbf8",
+ "type": "comment",
+ "name": "set tmp ar-id to fetch resource from MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 749.6205635070801,
+ "y": 114.02528667449951,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bfd4a9cf.aa7918",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 674.6601905822754,
+ "y": 242.9934959411621,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "290c05a0.21ca9a",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 680.9220809936523,
+ "y": 330.6602249145508,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "9c88cb66.2575d8",
+ "type": "execute",
+ "name": "generate allotted-resource url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 712.9221076965332,
+ "y": 418.6602063179016,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "8484c7db.980518",
+ "type": "get-resource",
+ "name": "get-resource connection-attachment-allotted-resource",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id/' pfx='mdsal-ar' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.6602058410645,
+ "y": 508.7712650299072,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "4af802cd.0768bc",
+ "9704e270.344da"
+ ]
+ ]
+ },
+ {
+ "id": "eec65610.3652f8",
+ "type": "comment",
+ "name": "GET connection-attachment-allotted-resource from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 790.4750022888184,
+ "y": 480.53858375549316,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "eed42f31.59a27",
+ "type": "comment",
+ "name": "Used for setting output to API Handler",
+ "info": "",
+ "comments": "",
+ "x": 728.6602210998535,
+ "y": 209.99350547790527,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a03ab63b.9e0678",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 746.6601867675781,
+ "y": 295.88238620758057,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "94d139ba.87f2c8",
+ "type": "comment",
+ "name": "Used to Get AR by id to MDSAL, same as self-link",
+ "info": "",
+ "comments": "",
+ "x": 772.6602058410645,
+ "y": 382.88234519958496,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4af802cd.0768bc",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1083.333408355713,
+ "y": 493.99999618530273,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "a5fa6dd6.43795"
+ ]
+ ]
+ },
+ {
+ "id": "a5fa6dd6.43795",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1252.3334121704102,
+ "y": 492.4998970031738,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "2f8c441e.efd2ec"
+ ]
+ ]
+ },
+ {
+ "id": "2f8c441e.efd2ec",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1463.1906547546387,
+ "y": 492.11902618408203,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "e3552b55.2b7868",
+ "579fccfb.5c4c54"
+ ]
+ ]
+ },
+ {
+ "id": "e3552b55.2b7868",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1652.5239601135254,
+ "y": 492.1189842224121,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "81b472dd.735a8"
+ ]
+ ]
+ },
+ {
+ "id": "81b472dd.735a8",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic='true'>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1837.0478496551514,
+ "y": 489.02381801605225,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "d81a29f1.be9278",
+ "d95be879.b1bde8",
+ "f4a4bf1b.b7da1"
+ ]
+ ]
+ },
+ {
+ "id": "31667ce1.fcbca4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1796.1856498718262,
+ "y": 570.0660495758057,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9704e270.344da",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1075.1852111816406,
+ "y": 529.0660810470581,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "766c605e.af77c"
+ ]
+ ]
+ },
+ {
+ "id": "766c605e.af77c",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1255.1851615905762,
+ "y": 529.7326316833496,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "31667ce1.fcbca4"
+ ]
+ ]
+ },
+ {
+ "id": "579fccfb.5c4c54",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1640.8519134521484,
+ "y": 529.3993444442749,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "31667ce1.fcbca4"
+ ]
+ ]
+ },
+ {
+ "id": "d81a29f1.be9278",
+ "type": "set",
+ "name": "set connection-attachment-ar from get",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />\n",
+ "comments": "",
+ "x": 2206.1111946105957,
+ "y": 456.0000344514847,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f4a4bf1b.b7da1",
+ "type": "set",
+ "name": "set oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n",
+ "comments": "",
+ "x": 2139.1113624572754,
+ "y": 531.428560256958,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d95be879.b1bde8",
+ "type": "switchNode",
+ "name": "switch order-status",
+ "xml": "<switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2149.111141204834,
+ "y": 496.9999942779541,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "e17a8fee.41d4",
+ "d3c8707c.374dc"
+ ]
+ ]
+ },
+ {
+ "id": "e17a8fee.41d4",
+ "type": "outcome",
+ "name": "outcome Active",
+ "xml": "<outcome value='Active'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2384.711223602295,
+ "y": 491.0000252723694,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "b89c0370.1273d"
+ ]
+ ]
+ },
+ {
+ "id": "d3c8707c.374dc",
+ "type": "outcome",
+ "name": "outcome Other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2378.4256629943848,
+ "y": 530.4286332130432,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "e88e83ff.2b0bf"
+ ]
+ ]
+ },
+ {
+ "id": "b89c0370.1273d",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2599.181739807129,
+ "y": 492.3756594657898,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "e88e83ff.2b0bf",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" \n value=\"`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n",
+ "comments": "",
+ "x": 2618.3334426879883,
+ "y": 533.0000233650208,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "190989d8.d87b76",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-get-request-input-param",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='connection-attachment-get-request-input-param' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 970.9697303771973,
+ "y": 598.4935593605042,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "dfdf08a.1b550f8",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 652.9758071899414,
+ "y": 598.4998459815979,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "190989d8.d87b76"
+ ]
+ ]
+ },
+ {
+ "id": "3abce4e4.32a12c",
+ "type": "get-resource",
+ "name": "get-resource parent-service-data",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id/service-data' pfx='mdsal-psd' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 717.6671180725098,
+ "y": 740.5316205024719,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "d140a12c.bd2ea",
+ "58621e56.68c4e"
+ ]
+ ]
+ },
+ {
+ "id": "aa132cfc.b387f",
+ "type": "comment",
+ "name": "GET parent-service-data from mdsal to check existence of other End point",
+ "info": "",
+ "comments": "",
+ "x": 837.6670570373535,
+ "y": 669.5315594673157,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "21ab6599.b5b88a",
+ "type": "for",
+ "name": "for pidx..mdsal-psd.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='pidx' start='0' end='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1726.8515377044678,
+ "y": 908.0041127204895,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "c38adf24.2987b"
+ ]
+ ]
+ },
+ {
+ "id": "d7eaa0c2.0d298",
+ "type": "switchNode",
+ "name": "switch mdsal-psd.provided-allotted-resources_length",
+ "xml": "<switch test='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.8508949279785,
+ "y": 884.7180829048157,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "bab04a0a.986c28",
+ "ab941040.d9d58",
+ "e7f0f49a.c55b08"
+ ]
+ ]
+ },
+ {
+ "id": "bab04a0a.986c28",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1115.9937705993652,
+ "y": 1108.5755522474647,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "a85c2828.9226f8"
+ ]
+ ]
+ },
+ {
+ "id": "edfa14d3.f5d668",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1310.1211261749268,
+ "y": 902.7015252113342,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "21ab6599.b5b88a"
+ ]
+ ]
+ },
+ {
+ "id": "c38adf24.2987b",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2161.962938308716,
+ "y": 908.0040097236633,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "3532dc3f.6daa04",
+ "1210338.3b3d5cd"
+ ]
+ ]
+ },
+ {
+ "id": "3532dc3f.6daa04",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2370.7731647491455,
+ "y": 880.468499660492,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "7bfabe83.461c6"
+ ]
+ ]
+ },
+ {
+ "id": "515af9c1.8559f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2550.5338611602783,
+ "y": 944.3256783485413,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "39e1b1c2.1c69fe",
+ "9b2b2091.9723d"
+ ]
+ ]
+ },
+ {
+ "id": "39e1b1c2.1c69fe",
+ "type": "set",
+ "name": "set tmp.pidx and ptx.consumed-ar",
+ "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n<parameter name='tmp.provided-ar.' value='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$pidx].`' />\n<parameter name='tmp.found-in-ar' value='true' />\n<parameter name='tmp.ep-available' value='true' />",
+ "comments": "",
+ "x": 2807.391366958618,
+ "y": 918.8971924781799,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9b2b2091.9723d",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2718.2520847320557,
+ "y": 965.6532082557678,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2b8d3c6c.b14764",
+ "type": "comment",
+ "name": "Check existence of other AR in parent service data",
+ "info": "Check if other allotted resource is available.",
+ "comments": "",
+ "x": 773.629337310791,
+ "y": 818.8928875923157,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ab941040.d9d58",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1127.6461639404297,
+ "y": 1032.6772694587708,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "46264523.92ecdc"
+ ]
+ ]
+ },
+ {
+ "id": "a85c2828.9226f8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1288.6461143493652,
+ "y": 1107.6772940382361,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e7f0f49a.c55b08",
+ "type": "other",
+ "name": "outcome 2",
+ "xml": "<outcome value='2'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1135.646146774292,
+ "y": 903.6772255897522,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "edfa14d3.f5d668"
+ ]
+ ]
+ },
+ {
+ "id": "7bfabe83.461c6",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2528.7573795318604,
+ "y": 879.6772427558899,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "1210338.3b3d5cd",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2369.7573795318604,
+ "y": 942.6772427558899,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "515af9c1.8559f8"
+ ]
+ ]
+ },
+ {
+ "id": "e9cc6dee.5133e",
+ "type": "switchNode",
+ "name": "switch mdsal-psd.networks_length",
+ "xml": "<switch test='`$mdsal-psd.networks.network_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1563.9796333312988,
+ "y": 1032.8997707366943,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "30e9e8da.9a5228",
+ "80fd341d.8b4a38"
+ ]
+ ]
+ },
+ {
+ "id": "80fd341d.8b4a38",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1835.9796562194824,
+ "y": 1006.7886056900024,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "eab56bbb.5b2d38"
+ ]
+ ]
+ },
+ {
+ "id": "30e9e8da.9a5228",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1829.979778289795,
+ "y": 1066.7886056900024,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "9cd991eb.ad6e9"
+ ]
+ ]
+ },
+ {
+ "id": "9cd991eb.ad6e9",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Incorrect state found more then 1 network\" />\n \n",
+ "comments": "",
+ "x": 1986.632122039795,
+ "y": 1067.8904123306274,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "750841f5.89bfd",
+ "type": "set",
+ "name": "set tmp.network.",
+ "xml": "<set>\n<parameter name='tmp.network.' value='`$mdsal-psd.networks.network[0].`' />\n",
+ "comments": "",
+ "x": 2271.424503326416,
+ "y": 1007.788761138916,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "46264523.92ecdc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1300.090518951416,
+ "y": 1033.7885174751282,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "e9cc6dee.5133e"
+ ]
+ ]
+ },
+ {
+ "id": "eab56bbb.5b2d38",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2027.75736618042,
+ "y": 1009.7884836196899,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "750841f5.89bfd",
+ "56082b6e.f90444"
+ ]
+ ]
+ },
+ {
+ "id": "56082b6e.f90444",
+ "type": "for",
+ "name": "for nidx..tmp.network.network-data.network-request-input.network...[]",
+ "xml": "<for index='nidx' start='0' end='`$tmp.network.network-data.network-request-input.network-input-parameters.param_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 2447.7576332092285,
+ "y": 1069.7884712219238,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "ad111a8e.73a1d8"
+ ]
+ ]
+ },
+ {
+ "id": "ad111a8e.73a1d8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2813.3130168914795,
+ "y": 1069.7885303497314,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "92d17a75.9c6dc8",
+ "60c80c93.08db54"
+ ]
+ ]
+ },
+ {
+ "id": "92d17a75.9c6dc8",
+ "type": "switchNode",
+ "name": "switch access-node-id",
+ "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$nidx].name == 'access-node-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 3017.8232707977295,
+ "y": 1072.798906326294,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "abca5378.b72d3"
+ ]
+ ]
+ },
+ {
+ "id": "abca5378.b72d3",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3204.8232707977295,
+ "y": 1073.798906326294,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "db6a8374.5ea08"
+ ]
+ ]
+ },
+ {
+ "id": "db6a8374.5ea08",
+ "type": "set",
+ "name": "set tmp.found-in-network tmp.ep-available",
+ "xml": "<set>\n<parameter name='tmp.found-in-network' value='true' />\n<parameter name='tmp.ep-available' value='true' />",
+ "comments": "",
+ "x": 3455.823278427124,
+ "y": 1073.3988485336304,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "60c80c93.08db54",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 3000.81316947937,
+ "y": 1117.7885055541992,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "601263d0.9079dc",
+ "type": "switchNode",
+ "name": "switch tmp.ep-available",
+ "xml": "<switch test='`$tmp.ep-available`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.9794960021973,
+ "y": 1296.232792377472,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "89a90f2c.398bf",
+ "80d65700.60d008"
+ ]
+ ]
+ },
+ {
+ "id": "80d65700.60d008",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 928.6462154388428,
+ "y": 1345.5661492347717,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "844986d4.f4d158"
+ ]
+ ]
+ },
+ {
+ "id": "89a90f2c.398bf",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 933.5350170135498,
+ "y": 1254.566210269928,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "9208b0d4.846ab"
+ ]
+ ]
+ },
+ {
+ "id": "9208b0d4.846ab",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1080.5350131988525,
+ "y": 1256.4550232887268,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "844986d4.f4d158",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1098.757303237915,
+ "y": 1343.5661072731018,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "fc82177c.3c8168",
+ "6c1300b3.838e9",
+ "b83c0ca8.2fbee"
+ ]
+ ]
+ },
+ {
+ "id": "27f851f0.33167e",
+ "type": "comment",
+ "name": "GET connection-attachment-ar to store AR data from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 2269.1394805908203,
+ "y": 420.50391721725464,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "105428a7.c0fa47",
+ "type": "comment",
+ "name": "Set source end point",
+ "info": "",
+ "comments": "",
+ "x": 674.6393585205078,
+ "y": 566.2539267539978,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "5040dd33.924624",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 728.635440826416,
+ "y": 705.0000042915344,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d140a12c.bd2ea",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 964.635440826416,
+ "y": 733.0000042915344,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "ef017607.27ae68"
+ ]
+ ]
+ },
+ {
+ "id": "58621e56.68c4e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 956.4872436523438,
+ "y": 768.0660891532898,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "50c1da8b.6785d4"
+ ]
+ ]
+ },
+ {
+ "id": "50c1da8b.6785d4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1131.635929107666,
+ "y": 764.3334393501282,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "ef017607.27ae68",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1115.635440826416,
+ "y": 731.0000042915344,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "7ff9e776.cf4d98",
+ "type": "set",
+ "name": "set tmp.found-in-ar tmp.found-in-network tmp.ep-available to false",
+ "xml": "<set>\n<parameter name='tmp.found-in-ar' value='false' />\n<parameter name='tmp.found-in-network' value='false' />\n<parameter name='tmp.ep-available' value='false' />",
+ "comments": "",
+ "x": 820.635440826416,
+ "y": 850.0000042915344,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6020d2b5.ff31bc",
+ "type": "comment",
+ "name": "If other EP exists delete from domain controller",
+ "info": "",
+ "comments": "",
+ "x": 760.635440826416,
+ "y": 1221.0000042915344,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1d5ec4d8.fd16cb",
+ "type": "set",
+ "name": "set controller data",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n",
+ "comments": "",
+ "x": 1814.6355590820312,
+ "y": 1374.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6c1300b3.838e9",
+ "type": "get-resource",
+ "name": "get-resource esr-thirdparty-sdnc",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1378.135498046875,
+ "y": 1433.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "9b0a24a5.e3c928",
+ "3d4157e0.0e2b48",
+ "47d559b2.2326f8"
+ ]
+ ]
+ },
+ {
+ "id": "9b0a24a5.e3c928",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1617.135498046875,
+ "y": 1386.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "1d5ec4d8.fd16cb"
+ ]
+ ]
+ },
+ {
+ "id": "3d4157e0.0e2b48",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1620.62646484375,
+ "y": 1433.574055671692,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "4d76fe9.b9e25"
+ ]
+ ]
+ },
+ {
+ "id": "47d559b2.2326f8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1615.95947265625,
+ "y": 1474.9073686599731,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "4373fee3.5c15e"
+ ]
+ ]
+ },
+ {
+ "id": "4d76fe9.b9e25",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1797.1978759765625,
+ "y": 1421.8597917556763,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4373fee3.5c15e",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1803.7320289611816,
+ "y": 1470.3465614318848,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fc82177c.3c8168",
+ "type": "get-resource",
+ "name": "get-resource pnf",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"pnf\" \n\t\tkey=\"pnf.pnf-name = $prop.connection-attachement.access-node-id AND \n\t\t depth = '0'\"\n pfx='tmp.aai.pnf' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1324.6355590820312,
+ "y": 1246.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "71aef88f.e0bf68",
+ "2c74406b.e0e78",
+ "5d3880b0.6e762"
+ ]
+ ]
+ },
+ {
+ "id": "71aef88f.e0bf68",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1671.635498046875,
+ "y": 1250.0000505447388,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "a198897a.59b5a8"
+ ]
+ ]
+ },
+ {
+ "id": "2c74406b.e0e78",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1675.12646484375,
+ "y": 1297.57408618927,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "c41f8753.3bbf68"
+ ]
+ ]
+ },
+ {
+ "id": "5d3880b0.6e762",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1670.45947265625,
+ "y": 1338.9073991775513,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "f23816e4.5d6938"
+ ]
+ ]
+ },
+ {
+ "id": "c41f8753.3bbf68",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n",
+ "comments": "",
+ "x": 1851.6978759765625,
+ "y": 1285.8598222732544,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f23816e4.5d6938",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n",
+ "comments": "",
+ "x": 1858.2320289611816,
+ "y": 1334.346591949463,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a198897a.59b5a8",
+ "type": "set",
+ "name": "set tmp.thirdparty-sdnc-id",
+ "xml": "<set>\n<parameter name='tmp.thirdparty-sdnc-id' value=\"`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`\" />\n",
+ "comments": "",
+ "x": 1875.635498046875,
+ "y": 1237.0000505447388,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "193624d6.cf45fb",
+ "type": "comment",
+ "name": "get domain controller information",
+ "info": "",
+ "comments": "",
+ "x": 1369.1394271850586,
+ "y": 1212.0039176940918,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b83c0ca8.2fbee",
+ "type": "execute",
+ "name": "execute RestApiCallNode Delete ethernet Service",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + 'restconf/data/ietf-eth-tran-service:etht-svc/etht-svc-instances=' + $prop.connection-attachment.sotnVpnName`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"delete\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1426.6355590820312,
+ "y": 1538.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "157d151e.8db5fb",
+ "dc587393.0f491"
+ ]
+ ]
+ },
+ {
+ "id": "157d151e.8db5fb",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1713.635498046875,
+ "y": 1561.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "22b1ca9.6034f36"
+ ]
+ ]
+ },
+ {
+ "id": "22b1ca9.6034f36",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1883.6354370117188,
+ "y": 1564.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "949096af.7825e8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+ "comments": "",
+ "x": 1883.6355590820312,
+ "y": 1520.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "dc587393.0f491",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1716.6354370117188,
+ "y": 1520.0000200271606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "949096af.7825e8"
+ ]
+ ]
+ },
+ {
+ "id": "83d13f6d.0d8cd",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 984.397403717041,
+ "y": 1879.9526022672653,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "3bbdd84b.d766e8"
+ ]
+ ]
+ },
+ {
+ "id": "3bbdd84b.d766e8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1150.9212837219238,
+ "y": 1891.5716732740402,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "55a09cbe.8cef84",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 991.4926910400391,
+ "y": 1912.714569926262,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "3bbdd84b.d766e8"
+ ]
+ ]
+ },
+ {
+ "id": "5f6a467a.dfacc8",
+ "type": "comment",
+ "name": "Save Resource to AAI",
+ "info": "",
+ "comments": "",
+ "x": 703.4451179504395,
+ "y": 1862.3019905090332,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "79627cb0.0dbb74",
+ "type": "comment",
+ "name": "TODO: Rework after confirmation from AAI",
+ "info": "",
+ "comments": "",
+ "x": 1003.804027557373,
+ "y": 1839.8730292320251,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bc602338.67328",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 718.2128143310547,
+ "y": 1783.8274717330933,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f080d760.856678",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 686.6258964538574,
+ "y": 1944.443223953247,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c5b69925.729378",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.sotn-attachment.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 767.9449157714844,
+ "y": 1691.4682455062866,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "c8f2c95e.7a0b78",
+ "edc7bb51.8c2ee8",
+ "a8558f0e.c66f3"
+ ]
+ ]
+ },
+ {
+ "id": "c8f2c95e.7a0b78",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1036.5862922668457,
+ "y": 1742.7996572479606,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "456ce311.27ccec"
+ ]
+ ]
+ },
+ {
+ "id": "edc7bb51.8c2ee8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1027.5863418579102,
+ "y": 1711.299682997167,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "456ce311.27ccec"
+ ]
+ ]
+ },
+ {
+ "id": "a8558f0e.c66f3",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1031.3363800048828,
+ "y": 1681.6567878723145,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "fc3cc6b.7a5fa38"
+ ]
+ ]
+ },
+ {
+ "id": "456ce311.27ccec",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1197.3363800048828,
+ "y": 1712.049706839025,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fc3cc6b.7a5fa38",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1172.9923477172852,
+ "y": 1677.8489570617676,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "5af6e72b.9d69a8",
+ "type": "set",
+ "name": "set ar-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-status.action' value=\"`$connection-attachment-topology-operation-input.request-information.request-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value=\"connection-attachment-topology-operation\" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$connection-attachment-topology-operation-input.request-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$connection-attachment-topology-operation-input.service-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.` \" />",
+ "comments": "",
+ "x": 673.1585121154785,
+ "y": 1542.8492257595062,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1d49bda0.f37e32",
+ "type": "execute",
+ "name": "execute getTime",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 690.4443550109863,
+ "y": 1615.4688234329224,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "285d454d.f5f90a",
+ "type": "set",
+ "name": "set allotted-resource-oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n",
+ "comments": "",
+ "x": 740.4314346313477,
+ "y": 1652.419903755188,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2d9aed4c.fcfbd2",
+ "type": "set",
+ "name": "set model-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` \" />",
+ "comments": "",
+ "x": 687.0000534057617,
+ "y": 1582.0238761901855,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9565d730.07f7d8",
+ "type": "comment",
+ "name": "Prepare data for allotted-resource addition to MDSAL",
+ "info": "This will add to allotted-resource which is present inside service.",
+ "comments": "",
+ "x": 800.3335151672363,
+ "y": 1503.0238282680511,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b61bb52.fd12048",
+ "type": "comment",
+ "name": "Add to allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 741.9133415222168,
+ "y": 1470.4371299743652,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8e738bcf.052208",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`\" />\n\t<parameter name=\"operational-status\" value=\"PendingDelete\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 729.8893966674805,
+ "y": 1899.7541332244873,
+ "z": "b5ee72b6.6e8c5",
+ "wires": [
+ [
+ "83d13f6d.0d8cd",
+ "55a09cbe.8cef84"
+ ]
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.json
new file mode 100644
index 00000000..ca5ca898
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.json
@@ -0,0 +1,1013 @@
+[
+ {
+ "id": "40d74cd7.316a14",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 101,
+ "y": 40,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "f8cb9b5e.038868"
+ ]
+ ]
+ },
+ {
+ "id": "f8cb9b5e.038868",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 313.00000381469727,
+ "y": 112.0000171661377,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "a82adde1.bdf47"
+ ]
+ ]
+ },
+ {
+ "id": "a82adde1.bdf47",
+ "type": "method",
+ "name": "sotn-attachment-topology-operation-delete",
+ "xml": "<method rpc='sotn-attachment-topology-operation-delete' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 301.0001220703125,
+ "y": 200,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "949cc74.207fe38"
+ ]
+ ]
+ },
+ {
+ "id": "949cc74.207fe38",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 317.0001220703125,
+ "y": 755.0002446174622,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "e8c0ed11.a9ee2",
+ "acbb646b.d77cc8",
+ "fd6eb40b.cdb328",
+ "9e6bdd2.2396b2",
+ "b1c2a911.f82f08",
+ "90800e39.89524",
+ "3735d68f.ab66da",
+ "c9fb1b0b.8e8c48",
+ "3438f4ce.6e83dc",
+ "8443751c.74bd98",
+ "4de78821.6f3c58",
+ "bcd52af9.df1738",
+ "9273699a.4d08c8",
+ "85ce8a7e.f20d58"
+ ]
+ ]
+ },
+ {
+ "id": "e8c0ed11.a9ee2",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id,etc",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n",
+ "comments": "",
+ "x": 713.9935607910156,
+ "y": 153.9934868812561,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "43da58d7.610758",
+ "type": "comment",
+ "name": "set tmp ar-id to fetch resource from MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 742.9538726806641,
+ "y": 118.02528285980225,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "acbb646b.d77cc8",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 667.9934997558594,
+ "y": 246.99349212646484,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "90800e39.89524",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 674.2553901672363,
+ "y": 334.6602210998535,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "fd6eb40b.cdb328",
+ "type": "execute",
+ "name": "generate allotted-resource url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 706.2554168701172,
+ "y": 422.66020250320435,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "1905b8ab.ca3847",
+ "type": "comment",
+ "name": "Used for setting output to API Handler",
+ "info": "",
+ "comments": "",
+ "x": 721.9935302734375,
+ "y": 213.993501663208,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "472b5b53.359df4",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 739.9934959411621,
+ "y": 299.8823823928833,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e758b3f.c00a45",
+ "type": "comment",
+ "name": "Used to Get AR by id to MDSAL, same as self-link",
+ "info": "",
+ "comments": "",
+ "x": 765.9935150146484,
+ "y": 386.8823413848877,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9e6bdd2.2396b2",
+ "type": "get-resource",
+ "name": "get-resource parent-service-data",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id/service-data' pfx='mdsal-psd' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 713.0003890991211,
+ "y": 912.531683921814,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "376a6931.f70fe6",
+ "344c3669.3f542a"
+ ]
+ ]
+ },
+ {
+ "id": "7df855f0.47079c",
+ "type": "comment",
+ "name": "GET parent-service-data from mdsal to check existence of other End point",
+ "info": "",
+ "comments": "",
+ "x": 833.0003280639648,
+ "y": 841.5316228866577,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "3af49e65.969612",
+ "type": "for",
+ "name": "for pidx..mdsal-psd.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='pidx' start='0' end='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1644.1849060058594,
+ "y": 1017.0042171478271,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "c4ca63d9.fd59d"
+ ]
+ ]
+ },
+ {
+ "id": "b1c2a911.f82f08",
+ "type": "switchNode",
+ "name": "switch mdsal-psd.provided-allotted-resources_length",
+ "xml": "<switch test='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 772.1841125488281,
+ "y": 1001.7180595397949,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "af927d7b.49dce",
+ "fc0125f.d3b43d8"
+ ]
+ ]
+ },
+ {
+ "id": "97446eab.09441",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1258.4543991088867,
+ "y": 1057.7015590667725,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "3af49e65.969612",
+ "7aae58e1.7b18c8"
+ ]
+ ]
+ },
+ {
+ "id": "c4ca63d9.fd59d",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2063.2962188720703,
+ "y": 1017.0040645599365,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "637d9cfe.cdf994"
+ ]
+ ]
+ },
+ {
+ "id": "3735d68f.ab66da",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 723.9687118530273,
+ "y": 877.0000677108765,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "376a6931.f70fe6",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.9687118530273,
+ "y": 905.0000677108765,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "eee1cf23.532fa"
+ ]
+ ]
+ },
+ {
+ "id": "344c3669.3f542a",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 951.8205146789551,
+ "y": 940.0661525726318,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "38d98c77.5a5dc4"
+ ]
+ ]
+ },
+ {
+ "id": "38d98c77.5a5dc4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1126.9692001342773,
+ "y": 936.3335027694702,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "eee1cf23.532fa",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1110.9687118530273,
+ "y": 903.0000677108765,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "fd82a90d.c15198",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 952.7306861877441,
+ "y": 1186.9527963399887,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "a5f6bd09.ffa1d"
+ ]
+ ]
+ },
+ {
+ "id": "a5f6bd09.ffa1d",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1119.254566192627,
+ "y": 1198.5718673467636,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "399e5f25.1d673",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.8259735107422,
+ "y": 1219.7147639989853,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "a5f6bd09.ffa1d"
+ ]
+ ]
+ },
+ {
+ "id": "c1db391c.684108",
+ "type": "comment",
+ "name": "TODO: Rework after confirmation from AAI",
+ "info": "",
+ "comments": "",
+ "x": 1084.137351989746,
+ "y": 1137.8731961250305,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c9fb1b0b.8e8c48",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 685.5460739135742,
+ "y": 1150.8276634216309,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "3438f4ce.6e83dc",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 654.9591789245605,
+ "y": 1251.4434180259705,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8443751c.74bd98",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='Delete' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 739.6666641235352,
+ "y": 511.3333625793457,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "800033f.1bbe0d",
+ "b5b39fe4.c4cab",
+ "11a37ef9.11cf81"
+ ]
+ ]
+ },
+ {
+ "id": "800033f.1bbe0d",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1008.3080406188965,
+ "y": 562.6647743210196,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "84c30bf1.79ce98"
+ ]
+ ]
+ },
+ {
+ "id": "b5b39fe4.c4cab",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 999.3080902099609,
+ "y": 531.1648000702262,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "84c30bf1.79ce98"
+ ]
+ ]
+ },
+ {
+ "id": "11a37ef9.11cf81",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003.0581283569336,
+ "y": 501.52190494537354,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "b7efe17a.65f42"
+ ]
+ ]
+ },
+ {
+ "id": "84c30bf1.79ce98",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1169.0581283569336,
+ "y": 531.9148239120841,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b7efe17a.65f42",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1144.714096069336,
+ "y": 497.71407413482666,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "67cf0e71.e946f",
+ "type": "comment",
+ "name": "Delete Allotted Resource",
+ "info": "",
+ "comments": "",
+ "x": 687.0000457763672,
+ "y": 480.0000286102295,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c1be7c26.8538e",
+ "type": "for",
+ "name": "for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]",
+ "xml": "<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1637.00390625,
+ "y": 717.00390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "b702145d.d12dd8"
+ ]
+ ]
+ },
+ {
+ "id": "4de78821.6f3c58",
+ "type": "switchNode",
+ "name": "switch service-data.consumed-allotted-resources_length",
+ "xml": "<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 790.0032920837402,
+ "y": 677.71790766716,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "9fcadeb2.7ddd3",
+ "f277a541.5d4da8"
+ ]
+ ]
+ },
+ {
+ "id": "9fcadeb2.7ddd3",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1114.1461563110352,
+ "y": 660.5753421783447,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "6ed5686.b9f1498"
+ ]
+ ]
+ },
+ {
+ "id": "f277a541.5d4da8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1100.1461791992188,
+ "y": 723.5753309726715,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "a167b159.d1f0a"
+ ]
+ ]
+ },
+ {
+ "id": "a167b159.d1f0a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1260.2732696533203,
+ "y": 721.7013075351715,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "c1be7c26.8538e",
+ "a14b9903.574488"
+ ]
+ ]
+ },
+ {
+ "id": "bcd52af9.df1738",
+ "type": "set",
+ "name": "set consumed allotted resources for deletion",
+ "xml": "<set>\n<parameter name=\"service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].\" value=\"\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`' />\n\n",
+ "comments": "",
+ "x": 746.8606262207031,
+ "y": 748.28955078125,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "b702145d.d12dd8",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2075.1155166625977,
+ "y": 713.0040283203125,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "5f8fbf17.00afa"
+ ]
+ ]
+ },
+ {
+ "id": "5f8fbf17.00afa",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2270.925338745117,
+ "y": 712.4683527946472,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "c51401e.55444"
+ ]
+ ]
+ },
+ {
+ "id": "43e9034f.c4ea2c",
+ "type": "set",
+ "name": "set tmp.cidx",
+ "xml": "<set>\n<parameter name='tmp.cidx' value='`$cidx`' />\n",
+ "comments": "",
+ "x": 2582.26171875,
+ "y": 672.2246131896973,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "cdccd47e.bede38",
+ "type": "comment",
+ "name": "Delete consumed service consumed-allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 801.0045623779297,
+ "y": 610.0038724095793,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d296b738.04dcc8",
+ "type": "comment",
+ "name": "This set resource will be deleted in MDSAL by provider code",
+ "info": "",
+ "comments": "",
+ "x": 791.337345123291,
+ "y": 714.781964302063,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8922e52b.01caf8",
+ "type": "comment",
+ "name": "Obtain the index of conusumed AR",
+ "info": "",
+ "comments": "",
+ "x": 713.7817535400391,
+ "y": 641.8927326202393,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "6ed5686.b9f1498",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Resource to be deleted doesn't exist in MDSAL.\" />\n",
+ "comments": "",
+ "x": 1276.00390625,
+ "y": 661.00390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "e0029499.0fe808",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2574.003875732422,
+ "y": 732.2540216445923,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c51401e.55444",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2420.003936767578,
+ "y": 713.2539558410645,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "43e9034f.c4ea2c",
+ "e0029499.0fe808"
+ ]
+ ]
+ },
+ {
+ "id": "f81fb204.590a8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"resource to be deleted is not available in mdsal\" />\n",
+ "comments": "",
+ "x": 1730.25390625,
+ "y": 770.25390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1a2d8fc2.146df",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1592.75390625,
+ "y": 770.25390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "f81fb204.590a8"
+ ]
+ ]
+ },
+ {
+ "id": "a14b9903.574488",
+ "type": "switchNode",
+ "name": "switch tmp.cidx ",
+ "xml": "<switch test=\"`$tmp.cidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1438.75390625,
+ "y": 770.25390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "1a2d8fc2.146df"
+ ]
+ ]
+ },
+ {
+ "id": "a2784c5c.f26de",
+ "type": "comment",
+ "name": "Delete provided service provided-allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 787.5039215087891,
+ "y": 806.00390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fc0125f.d3b43d8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1081.5039596557617,
+ "y": 1054.7539730072021,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "97446eab.09441"
+ ]
+ ]
+ },
+ {
+ "id": "af927d7b.49dce",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1093.5038833618164,
+ "y": 991.7539174556732,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "29d2e8ba.860218"
+ ]
+ ]
+ },
+ {
+ "id": "29d2e8ba.860218",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Resource to be deleted doesn't exist in MDSAL.\" />\n",
+ "comments": "",
+ "x": 1255.3616333007812,
+ "y": 992.1824815273285,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "8fbe7fb5.2044c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"resource to be deleted is not available in mdsal\" />\n",
+ "comments": "",
+ "x": 1752.75390625,
+ "y": 1088.75390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "99d40761.083518",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1615.25390625,
+ "y": 1088.75390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "8fbe7fb5.2044c"
+ ]
+ ]
+ },
+ {
+ "id": "7aae58e1.7b18c8",
+ "type": "switchNode",
+ "name": "switch tmp.pidx ",
+ "xml": "<switch test=\"`$tmp.pidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1461.25390625,
+ "y": 1088.75390625,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "99d40761.083518"
+ ]
+ ]
+ },
+ {
+ "id": "637d9cfe.cdf994",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2262.503963470459,
+ "y": 1014.7539739608765,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "240168eb.ef4528"
+ ]
+ ]
+ },
+ {
+ "id": "fb4a1e64.0992d",
+ "type": "set",
+ "name": "set tmp.pidx",
+ "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n",
+ "comments": "",
+ "x": 2580.8404235839844,
+ "y": 973.5101690292358,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a63547e2.d5edc8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2572.5825805664062,
+ "y": 1033.5395774841309,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "240168eb.ef4528",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2418.5826416015625,
+ "y": 1014.539511680603,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "fb4a1e64.0992d",
+ "a63547e2.d5edc8"
+ ]
+ ]
+ },
+ {
+ "id": "9273699a.4d08c8",
+ "type": "set",
+ "name": "set provided allotted resources for deletion",
+ "xml": "<set>\n<parameter name=\"service-data.provided-allotted-resources.consumed-allotted-resource[$pidx].\" value=\"\" />\n<parameter name='service-data.provided-allotted-resources.consumed-allotted-resource_length' value='`$service-data.provided-allotted-resources.consumed-allotted-resource_length - 1`' />\n\n",
+ "comments": "",
+ "x": 741.0039215087891,
+ "y": 1052.003957748413,
+ "z": "344982e2.7dca5e",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "85ce8a7e.f20d58",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='allotted-resource' \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 698.2226791381836,
+ "y": 1206.7543272972107,
+ "z": "344982e2.7dca5e",
+ "wires": [
+ [
+ "fd82a90d.c15198",
+ "399e5f25.1d673"
+ ]
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.json
new file mode 100644
index 00000000..f9a6bb1d
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.json
@@ -0,0 +1,481 @@
+[
+ {
+ "id": "78c3c512.2a5cfc",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 113.03125,
+ "y": 43.03125,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "c8295f65.8fc4c"
+ ]
+ ]
+ },
+ {
+ "id": "c8295f65.8fc4c",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 325.03125381469727,
+ "y": 115.0312671661377,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "cb959304.88093"
+ ]
+ ]
+ },
+ {
+ "id": "cb959304.88093",
+ "type": "method",
+ "name": "sotnt-get-saved-ar-param",
+ "xml": "<method rpc='sotn-get-saved-ar-param' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 313.0313720703125,
+ "y": 203.03125,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "f53a4fe7.e10d8"
+ ]
+ ]
+ },
+ {
+ "id": "f53a4fe7.e10d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 320.03126525878906,
+ "y": 289.0313081741333,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "cb3c00be.eadaf"
+ ]
+ ]
+ },
+ {
+ "id": "cb3c00be.eadaf",
+ "type": "for",
+ "name": "for each sotn-get-request-input-param",
+ "xml": "<for index='idx' start='0' end='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 356.6980285644531,
+ "y": 371.697904586792,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "9fceee94.c7352"
+ ]
+ ]
+ },
+ {
+ "id": "9fceee94.c7352",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 621.5315322875977,
+ "y": 281.03129625320435,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "ac9e17c4.666db8",
+ "68c68212.dc993c",
+ "66615c8e.b750a4",
+ "4a64e3ec.0803bc",
+ "d49b138b.9b447",
+ "1f7b915.12bc26f",
+ "fcc00482.9d4728",
+ "be269c99.3195",
+ "d97ebcd8.acf64"
+ ]
+ ]
+ },
+ {
+ "id": "ac9e17c4.666db8",
+ "type": "switchNode",
+ "name": "switch sotnVpnName",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'sotnVpnName'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 848.53125,
+ "y": 79.03128051757812,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "4f0e4c80.dde4f4"
+ ]
+ ]
+ },
+ {
+ "id": "4f0e4c80.dde4f4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1035.53125,
+ "y": 75.03128051757812,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "ca00e2af.bb58d"
+ ]
+ ]
+ },
+ {
+ "id": "ca00e2af.bb58d",
+ "type": "set",
+ "name": "set sotnVpnName",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.sotnVpnName' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1203.53125,
+ "y": 75.63128662109375,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "68c68212.dc993c",
+ "type": "switchNode",
+ "name": "switch access-provider-id",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-provider-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 849.0416793823242,
+ "y": 138.03128051757812,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "a284600c.21032"
+ ]
+ ]
+ },
+ {
+ "id": "a284600c.21032",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1036.0416793823242,
+ "y": 134.03128051757812,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "226a73cd.788cbc"
+ ]
+ ]
+ },
+ {
+ "id": "226a73cd.788cbc",
+ "type": "set",
+ "name": "set access-provider-id",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.access-provider-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1204.0416793823242,
+ "y": 134.63128662109375,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "66615c8e.b750a4",
+ "type": "switchNode",
+ "name": "switch access-client-id",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-client-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 851.0417404174805,
+ "y": 191.04170036315918,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "2b01edeb.bc12c2"
+ ]
+ ]
+ },
+ {
+ "id": "2b01edeb.bc12c2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1038.0417404174805,
+ "y": 187.04170036315918,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "ce9ed833.dd9e08"
+ ]
+ ]
+ },
+ {
+ "id": "ce9ed833.dd9e08",
+ "type": "set",
+ "name": "set access-client-id",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.access-client-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1206.0417404174805,
+ "y": 187.6417064666748,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4a64e3ec.0803bc",
+ "type": "switchNode",
+ "name": "switch access-topology-id",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-topology-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 847.0417404174805,
+ "y": 257.0417003631592,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "cd0931d.fc24dd"
+ ]
+ ]
+ },
+ {
+ "id": "cd0931d.fc24dd",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1034.0417404174805,
+ "y": 253.04170036315918,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "ae46664c.2ac008"
+ ]
+ ]
+ },
+ {
+ "id": "ae46664c.2ac008",
+ "type": "set",
+ "name": "set access-topology-id",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.access-topology-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1202.0417404174805,
+ "y": 253.6417064666748,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d49b138b.9b447",
+ "type": "switchNode",
+ "name": "switch access-node-id",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-node-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 852.0417404174805,
+ "y": 311.04169845581055,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "c9b215fc.9adfd8"
+ ]
+ ]
+ },
+ {
+ "id": "c9b215fc.9adfd8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1039.0417404174805,
+ "y": 307.04169845581055,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "faf7a4cf.251418"
+ ]
+ ]
+ },
+ {
+ "id": "faf7a4cf.251418",
+ "type": "set",
+ "name": "set access-node-id",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.access-node-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1207.0417404174805,
+ "y": 307.6417045593262,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "1f7b915.12bc26f",
+ "type": "switchNode",
+ "name": "switch access-ltp-id",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-ltp-id'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 854.0417404174805,
+ "y": 373.04165840148926,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "672f4f35.c2cfa"
+ ]
+ ]
+ },
+ {
+ "id": "672f4f35.c2cfa",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1041.0417404174805,
+ "y": 369.04165840148926,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "f006294d.d5f238"
+ ]
+ ]
+ },
+ {
+ "id": "f006294d.d5f238",
+ "type": "set",
+ "name": "set access-ltp-id",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.access-ltp-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1209.0417404174805,
+ "y": 369.6416645050049,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fcc00482.9d4728",
+ "type": "switchNode",
+ "name": "switch clientSignal",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'clientSignal'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 858.0417404174805,
+ "y": 439.0416650772095,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "c5ace371.7d146"
+ ]
+ ]
+ },
+ {
+ "id": "c5ace371.7d146",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1045.0417404174805,
+ "y": 435.0416650772095,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "6652e4bd.26a58c"
+ ]
+ ]
+ },
+ {
+ "id": "6652e4bd.26a58c",
+ "type": "set",
+ "name": "set clientSignal",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.clientSignal' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1213.0417404174805,
+ "y": 435.6416711807251,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "be269c99.3195",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 851.0313720703125,
+ "y": 553.031268119812,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d97ebcd8.acf64",
+ "type": "switchNode",
+ "name": "switch cVLAN",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'cVLAN'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 857.03125,
+ "y": 491.0312194824219,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "b35b1b6b.cc2e38"
+ ]
+ ]
+ },
+ {
+ "id": "b35b1b6b.cc2e38",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1044.03125,
+ "y": 487.0312194824219,
+ "z": "be273250.67063",
+ "wires": [
+ [
+ "d9b42ffa.b44df"
+ ]
+ ]
+ },
+ {
+ "id": "d9b42ffa.b44df",
+ "type": "set",
+ "name": "set cVLAN",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.cVLAN' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1212.03125,
+ "y": 487.6312255859375,
+ "z": "be273250.67063",
+ "wires": [
+
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.json
index 8fa5b0f0..657287ef 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.json
@@ -1,86 +1,86 @@
[
{
- "id": "c91e9b10.259838",
+ "id": "4ff24108.9f0b9",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 96,
- "y": 42.99996852874756,
- "z": "ea913b4d.eb8638",
+ "x": 110.01040649414062,
+ "y": 84,
+ "z": "7e44475f.b60658",
"wires": [
[
- "38533cf9.2a1214"
+ "49314d16.951114"
]
]
},
{
- "id": "38533cf9.2a1214",
+ "id": "49314d16.951114",
"type": "service-logic",
- "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
- "version": "1.2.1-SNAPSHOT",
+ "version": "${project.version}",
"comments": "",
- "xml": "<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='1.2.1-SNAPSHOT'>",
+ "xml": "<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}'>",
"outputs": 1,
- "x": 282.00000381469727,
- "y": 114.99998569488525,
- "z": "ea913b4d.eb8638",
+ "x": 296.0104103088379,
+ "y": 156.0000171661377,
+ "z": "7e44475f.b60658",
"wires": [
[
- "39d16e55.9c1d22"
+ "cacaf9a3.ed2eb8"
]
]
},
{
- "id": "39d16e55.9c1d22",
+ "id": "cacaf9a3.ed2eb8",
"type": "method",
"name": "method sotn-network-topology-operation-activate",
"xml": "<method rpc='sotn-network-topology-operation-activate' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 270.0001220703125,
- "y": 202.99996852874756,
- "z": "ea913b4d.eb8638",
+ "x": 284.0105285644531,
+ "y": 244,
+ "z": "7e44475f.b60658",
"wires": [
[
- "4519115b.490c9"
+ "6fc16268.2c373c"
]
]
},
{
- "id": "4519115b.490c9",
+ "id": "6fc16268.2c373c",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 444.00001525878906,
- "y": 311.0000276565552,
- "z": "ea913b4d.eb8638",
+ "x": 458.0104217529297,
+ "y": 352.0000591278076,
+ "z": "7e44475f.b60658",
"wires": [
[
- "dfb7f2ca.a1635",
- "d89e17e8.bd1698",
- "d5e8e338.ac641",
- "604990bf.defe7",
- "b18a2025.dcb34",
- "9bb8612f.5c571",
- "c3e1900f.1a37e",
- "18e80a8f.69f565"
+ "f31091a3.27362",
+ "15ed0f21.483631",
+ "b7e9a733.12c248",
+ "739286aa.7b5518",
+ "fc03b474.733c48",
+ "8ec0cdeb.99354",
+ "4aa12b59.10e594",
+ "cdb930eb.4db64"
]
]
},
{
- "id": "dfb7f2ca.a1635",
+ "id": "f31091a3.27362",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-sotn-network-input-parameters",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 902.3889007568359,
- "y": 59.99996852874756,
- "z": "ea913b4d.eb8638",
+ "x": 916.3993072509766,
+ "y": 101,
+ "z": "7e44475f.b60658",
"wires": [
[
@@ -88,15 +88,15 @@
]
},
{
- "id": "d89e17e8.bd1698",
+ "id": "15ed0f21.483631",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sotn-network-topology-operation-activate\"/>\n<parameter name=\"field3\" value=\"SOTN-Activate\"/>\n",
"comments": "",
"outputs": 1,
- "x": 702.5555992126465,
- "y": 113.77782154083252,
- "z": "ea913b4d.eb8638",
+ "x": 716.5660057067871,
+ "y": 154.77785301208496,
+ "z": "7e44475f.b60658",
"wires": [
[
@@ -104,54 +104,54 @@
]
},
{
- "id": "d5e8e338.ac641",
+ "id": "b7e9a733.12c248",
"type": "set",
"name": "set networkId and network-object-path",
"xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<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/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` \" />",
"comments": "",
- "x": 793.5556488037109,
- "y": 302.3132629394531,
- "z": "ea913b4d.eb8638",
+ "x": 807.5660552978516,
+ "y": 343.31329441070557,
+ "z": "7e44475f.b60658",
"wires": [
]
},
{
- "id": "604990bf.defe7",
+ "id": "739286aa.7b5518",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 715.3334503173828,
- "y": 491.8686828613281,
- "z": "ea913b4d.eb8638",
+ "x": 729.3438568115234,
+ "y": 532.8687143325806,
+ "z": "7e44475f.b60658",
"wires": [
]
},
{
- "id": "b18a2025.dcb34",
+ "id": "fc03b474.733c48",
"type": "set",
"name": "set network-level-oper-status",
"xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='Active' />\n<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`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
"comments": "",
- "x": 760.4445648193359,
- "y": 363.53543758392334,
- "z": "ea913b4d.eb8638",
+ "x": 774.4549713134766,
+ "y": 404.5354690551758,
+ "z": "7e44475f.b60658",
"wires": [
]
},
{
- "id": "9bb8612f.5c571",
+ "id": "8ec0cdeb.99354",
"type": "execute",
"name": "execute Properties",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
"comments": "",
"outputs": 1,
- "x": 734.8577041625977,
- "y": 166.77785778045654,
- "z": "ea913b4d.eb8638",
+ "x": 748.8681106567383,
+ "y": 207.77788925170898,
+ "z": "7e44475f.b60658",
"wires": [
[
@@ -159,15 +159,15 @@
]
},
{
- "id": "c3e1900f.1a37e",
+ "id": "4aa12b59.10e594",
"type": "update",
"name": "update SOTN Connectivity status to AAI",
"xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration' \n key='configuration.configuration-id = $network-topology-operation-input.network-information.network-id' >\n<parameter name='configuration-id' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='operational-status' value='Active' />",
"comments": "",
"outputs": 1,
- "x": 794.6631469726562,
- "y": 423.23862648010254,
- "z": "ea913b4d.eb8638",
+ "x": 808.6735534667969,
+ "y": 464.238657951355,
+ "z": "7e44475f.b60658",
"wires": [
[
@@ -175,27 +175,27 @@
]
},
{
- "id": "18e80a8f.69f565",
+ "id": "cdb930eb.4db64",
"type": "set",
"name": "set network in service-data",
"xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />",
"comments": "",
- "x": 757.0001220703125,
- "y": 234.09102249145508,
- "z": "ea913b4d.eb8638",
+ "x": 771.0105285644531,
+ "y": 275.0910539627075,
+ "z": "7e44475f.b60658",
"wires": [
]
},
{
- "id": "bd8b5b43.6b8768",
+ "id": "c713ecf7.ea914",
"type": "comment",
"name": "TODO MP2MP",
"info": "Current implementation is for P2P connectivity\nFor MP2MP connectivity in future DG needs to be modified",
"comments": "",
- "x": 982.03125,
- "y": 157.03124904632568,
- "z": "ea913b4d.eb8638",
+ "x": 996.0416564941406,
+ "y": 198.03128051757812,
+ "z": "7e44475f.b60658",
"wires": [
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.json
index 9559f36f..3c9c95ff 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.json
@@ -1,91 +1,90 @@
[
{
- "id": "11760114.ffa53f",
+ "id": "139a6e7f.35f132",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 109,
- "y": 68.88888743473217,
- "z": "f3682574.cde048",
+ "x": 103.01040649414062,
+ "y": 78.2888806159608,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "387ea19.1ea525e"
+ "5165cd92.df7bd4"
]
]
},
{
- "id": "387ea19.1ea525e",
+ "id": "5165cd92.df7bd4",
"type": "service-logic",
- "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
- "version": "1.2.1-SNAPSHOT",
+ "version": "${project.version}",
"comments": "",
- "xml": "<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='1.2.1-SNAPSHOT'>",
+ "xml": "<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}'>",
"outputs": 1,
- "x": 363.5,
- "y": 68.88888743473217,
- "z": "f3682574.cde048",
+ "x": 357.5104064941406,
+ "y": 78.2888806159608,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "acc8b788.ec53d8"
+ "a7444b33.7d1f48"
]
]
},
{
- "id": "acc8b788.ec53d8",
+ "id": "a7444b33.7d1f48",
"type": "method",
"name": "sotn-network-topology-operation-create",
"xml": "<method rpc='sotn-network-topology-operation-create' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 362.5,
- "y": 168.88888743473217,
- "z": "f3682574.cde048",
+ "x": 356.5104064941406,
+ "y": 178.2888806159608,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "34953ba0.309594"
+ "a19a8247.a1622"
]
]
},
{
- "id": "34953ba0.309594",
+ "id": "a19a8247.a1622",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 502.5,
- "y": 268.88888743473217,
- "z": "f3682574.cde048",
+ "x": 496.5104064941406,
+ "y": 278.2888806159608,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "7388dbd6.e4b144",
- "eb46e056.51069",
- "27c87a61.1820b6",
- "1c8ab342.be0a1d",
- "f72cb383.b1b6",
- "a36220a4.22926",
- "a70fe000.5399c",
- "47a1000.3ac09",
- "edce49a.1c028b8",
- "1f8a7b8b.e596a4",
- "68c583ec.0ea75c",
- "1522718b.801dfe",
- "e184926f.0ad08"
+ "9690673f.c35c38",
+ "9090896d.431318",
+ "1b9ab03d.d8994",
+ "611901b5.6b6e9",
+ "64f0eb98.ddb424",
+ "22fd42de.86c53e",
+ "cc42b05c.ab9b4",
+ "b37c9027.58eb3",
+ "3085f08f.eacbb",
+ "27379959.fccb76",
+ "2ad70cde.edce44",
+ "3e882683.7d50ea"
]
]
},
{
- "id": "7388dbd6.e4b144",
+ "id": "9690673f.c35c38",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-sotn-network-input-parameters",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 932.5000114440918,
- "y": 86.66663935733959,
- "z": "f3682574.cde048",
+ "x": 926.5104179382324,
+ "y": 96.06663253856823,
+ "z": "13b9846a.014e4c",
"wires": [
[
@@ -93,15 +92,15 @@
]
},
{
- "id": "eb46e056.51069",
+ "id": "9090896d.431318",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sotn-network-topology-operation-create\"/>\n<parameter name=\"field3\" value=\"SOTN-Config\"/>\n",
"comments": "",
"outputs": 1,
- "x": 726.0556564331055,
- "y": 264.11109924316406,
- "z": "f3682574.cde048",
+ "x": 720.0660629272461,
+ "y": 273.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
[
@@ -109,15 +108,15 @@
]
},
{
- "id": "27c87a61.1820b6",
+ "id": "1b9ab03d.d8994",
"type": "execute",
"name": "execute generate-sotn-vpn-network-id",
"xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.sotn.network-id\"/>\n",
"comments": "",
"outputs": 1,
- "x": 826.5000114440918,
- "y": 126.66663935733959,
- "z": "f3682574.cde048",
+ "x": 820.5104179382324,
+ "y": 136.06663253856823,
+ "z": "13b9846a.014e4c",
"wires": [
[
@@ -125,142 +124,142 @@
]
},
{
- "id": "1c8ab342.be0a1d",
+ "id": "611901b5.6b6e9",
"type": "switchNode",
"name": "switch service-data.networks_length",
"xml": "<switch test='`$service-data.networks.network_length`'>\n",
"comments": "",
"outputs": 1,
- "x": 817.0556564331055,
- "y": 224.11109924316406,
- "z": "f3682574.cde048",
+ "x": 811.0660629272461,
+ "y": 233.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "c1b6935.5afba7",
- "33b11f83.270c2"
+ "6504f13e.cb942",
+ "f06b01d1.5ae64"
]
]
},
{
- "id": "c1b6935.5afba7",
+ "id": "6504f13e.cb942",
"type": "other",
"name": "Null",
"xml": "<outcome value=''>\n",
"comments": "",
"outputs": 1,
- "x": 1046.0556564331055,
- "y": 204.11109924316406,
- "z": "f3682574.cde048",
+ "x": 1040.066062927246,
+ "y": 213.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "50a80e72.5fa1f"
+ "80cc460d.6062a8"
]
]
},
{
- "id": "33b11f83.270c2",
+ "id": "f06b01d1.5ae64",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1046.0556564331055,
- "y": 244.11109924316406,
- "z": "f3682574.cde048",
+ "x": 1040.066062927246,
+ "y": 253.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "683104fc.0cc2bc"
+ "cc9b4b29.340cf8"
]
]
},
{
- "id": "50a80e72.5fa1f",
+ "id": "80cc460d.6062a8",
"type": "set",
"name": "set nidx",
"xml": "<set>\n<parameter name='nidx' value='0' />\n",
"comments": "",
- "x": 1188.5556564331055,
- "y": 204.11109924316406,
- "z": "f3682574.cde048",
+ "x": 1182.566062927246,
+ "y": 213.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "4bd2e74.8492e18",
+ "id": "8ea707fc.e9fc98",
"type": "set",
"name": "set nidx",
"xml": "<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />\n",
"comments": "",
- "x": 1322.1111755371094,
- "y": 205.66670894622803,
- "z": "f3682574.cde048",
+ "x": 1316.12158203125,
+ "y": 215.06670212745667,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "f72cb383.b1b6",
+ "id": "64f0eb98.ddb424",
"type": "set",
"name": "set network in service-data",
"xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-id' value='`$prop.sotn.network-id`' />\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\n<parameter name='service-data.networks.network_length' value='`$nidx+1`' />\n\n",
"comments": "",
- "x": 787.5556564331055,
- "y": 304.11109924316406,
- "z": "f3682574.cde048",
+ "x": 781.5660629272461,
+ "y": 313.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "a36220a4.22926",
+ "id": "22fd42de.86c53e",
"type": "set",
"name": "set networkId and network-object-path",
"xml": "<set>\n<parameter name='networkId' value='`$prop.sotn.network-id`' />\n<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.sotn.network-id + '/network-data/'` \" />",
"comments": "",
- "x": 823.0556564331055,
- "y": 344.11109924316406,
- "z": "f3682574.cde048",
+ "x": 817.0660629272461,
+ "y": 353.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "a70fe000.5399c",
+ "id": "cc42b05c.ab9b4",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 749.7224502563477,
- "y": 596.7778205871582,
- "z": "f3682574.cde048",
+ "x": 743.7329025268555,
+ "y": 580.1777954101562,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "47a1000.3ac09",
+ "id": "b37c9027.58eb3",
"type": "set",
"name": "set network-level-oper-status",
"xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='Created' />\n<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`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
"comments": "",
- "x": 794.5556564331055,
- "y": 384.11109924316406,
- "z": "f3682574.cde048",
+ "x": 788.5660629272461,
+ "y": 393.5110924243927,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "edce49a.1c028b8",
+ "id": "3085f08f.eacbb",
"type": "save",
"name": "save SOTN connectivity resource in AAI",
"xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration' \n key='configuration.configuration-id = $prop.sotn.network-id' >\n<parameter name='configuration-id' value='`$prop.sotn.network-id`' />\n<parameter name='configuration-name' value='`$prop.sotn.client-svc-name`' />\n<parameter name='configuration-type' value='`$prop.sotn.client-svc-descr`' />\n<parameter name='configuration-sub-type' value='`$prop.sotn.tenantId`' />\n<parameter name='orchestration-status' value='`$prop.sotn.vpnType`' />\n<parameter name='management-option' value='`$prop.sotn.cir`' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\n<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.sotn.network-id + '/network-data/'` \" />",
"comments": "",
"outputs": 1,
- "x": 827.0556564331055,
- "y": 430.77778816223145,
- "z": "f3682574.cde048",
+ "x": 821.0660629272461,
+ "y": 440.1777813434601,
+ "z": "13b9846a.014e4c",
"wires": [
[
@@ -268,15 +267,15 @@
]
},
{
- "id": "1f8a7b8b.e596a4",
+ "id": "27379959.fccb76",
"type": "save",
"name": "save service relationship in AAI",
"xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"configuration\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/configurations/configuration/' + $prop.sotn.network-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"configuration.configuration-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.sotn.network-id`\" />",
"comments": "",
"outputs": 1,
- "x": 802.0556678771973,
- "y": 468.55554008483887,
- "z": "f3682574.cde048",
+ "x": 796.0660743713379,
+ "y": 477.9555332660675,
+ "z": "13b9846a.014e4c",
"wires": [
[
@@ -284,903 +283,887 @@
]
},
{
- "id": "b85378f.1752188",
+ "id": "56dd0abe.1511b4",
"type": "for",
"name": "for each existing network",
"xml": "<for index='idx' start='0' end='`$nidx`' >\n",
"comments": "",
"outputs": 1,
- "x": 1191.5397186279297,
- "y": 348.8888511364348,
- "z": "f3682574.cde048",
+ "x": 1185.5501251220703,
+ "y": 358.28884431766346,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "ad3781e0.62cbe"
+ "a637d096.3728c"
]
]
},
{
- "id": "683104fc.0cc2bc",
+ "id": "cc9b4b29.340cf8",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1190.4127006530762,
- "y": 244.04761123657227,
- "z": "f3682574.cde048",
+ "x": 1184.4231071472168,
+ "y": 253.4476044178009,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "b85378f.1752188",
- "4bd2e74.8492e18"
+ "56dd0abe.1511b4",
+ "8ea707fc.e9fc98"
]
]
},
{
- "id": "ad3781e0.62cbe",
+ "id": "a637d096.3728c",
"type": "switchNode",
"name": "switch networkid found",
"xml": "<switch test=\"`$service-data.networks.network[$idx].network-id == $network-topology-operation-input.network-information.network-id`\">\n",
"comments": "",
"outputs": 1,
- "x": 1466.825439453125,
- "y": 348.4603538219817,
- "z": "f3682574.cde048",
+ "x": 1460.8358459472656,
+ "y": 357.86034700321034,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "30f1f431.08877c"
+ "29edb34.33bc74c"
]
]
},
{
- "id": "30f1f431.08877c",
+ "id": "29edb34.33bc74c",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1367.5556373596191,
- "y": 407.03178498195484,
- "z": "f3682574.cde048",
+ "x": 1361.5660438537598,
+ "y": 416.4317781631835,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "1df899ae.3b8026"
+ "fb222058.5489a"
]
]
},
{
- "id": "3a07954a.fda22a",
+ "id": "e2502908.30a4f8",
"type": "comment",
"name": "make sure this network doesn't exist already",
"info": "",
"comments": "",
- "x": 1415.1904487609863,
- "y": 307.142908543814,
- "z": "f3682574.cde048",
+ "x": 1409.200855255127,
+ "y": 316.5429017250426,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "1df899ae.3b8026",
+ "id": "fb222058.5489a",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id already found in service-data\" />\n",
"comments": "",
- "x": 1515.3057403564453,
- "y": 406.88897705078125,
- "z": "f3682574.cde048",
+ "x": 1509.316146850586,
+ "y": 416.2889702320099,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "1eccb58d.49bd0a",
+ "id": "5c98a39b.1a248c",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1481.957233428955,
- "y": 176.6666965484619,
- "z": "f3682574.cde048",
+ "x": 1475.9676399230957,
+ "y": 186.06668972969055,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "39c25585.35095a",
- "f63e13ae.1ca36",
- "b990d7b7.d50db8",
- "84319a02.cc83c8",
- "fd903008.4e1c6",
- "64b1c8e5.3ad178",
- "c55257d1.2dce08",
- "70e3ab9b.3b6ef4",
- "f11487f.1a2d778",
- "f273d999.226da8",
- "e251bd6c.23dfe",
- "f51170c3.6db7",
- "ba516d92.f632",
- "fe52bad5.770908",
- "b3759567.fa1fc8",
- "a9128726.ee25b8"
+ "eb10737a.973ea",
+ "20241118.87993e",
+ "8f9a601f.f6c31",
+ "2f4693cf.5c48bc",
+ "a92d3efb.9a862",
+ "8921689e.0cc458",
+ "23d4de8a.cdb1a2",
+ "c9294e5e.af421",
+ "f05d31ef.6d9f2",
+ "3ac5e719.7cdd08",
+ "36127ed4.d4df92",
+ "f5195bd8.3c84a8",
+ "ef3f5059.2d4ea",
+ "cd1b68b3.245ce8",
+ "43611249.362dac",
+ "c4de2cef.1053e"
]
]
},
{
- "id": "39c25585.35095a",
+ "id": "eb10737a.973ea",
"type": "switchNode",
"name": "switch name",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1740.1789779663086,
- "y": 34,
- "z": "f3682574.cde048",
+ "x": 1734.1893844604492,
+ "y": 43.39999318122864,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "be03b2cc.d65d1"
+ "d0562182.0b394"
]
]
},
{
- "id": "be03b2cc.d65d1",
+ "id": "d0562182.0b394",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1927.1789779663086,
- "y": 30,
- "z": "f3682574.cde048",
+ "x": 1921.1893844604492,
+ "y": 39.39999318122864,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "904307f9.4f4248"
+ "85ea5b3a.80fc78"
]
]
},
{
- "id": "904307f9.4f4248",
+ "id": "85ea5b3a.80fc78",
"type": "set",
"name": "set name",
"xml": "<set>\n<parameter name='prop.sotn.etht-svc-name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2077.1791076660156,
- "y": 28.600006580352783,
- "z": "f3682574.cde048",
+ "x": 2071.1895141601562,
+ "y": 37.99999976158142,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "f63e13ae.1ca36",
+ "id": "20241118.87993e",
"type": "switchNode",
"name": "switch description",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'description'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1751.0186386108398,
- "y": 73.99999809265137,
- "z": "f3682574.cde048",
+ "x": 1745.0290451049805,
+ "y": 83.39999127388,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "2d5d0686.3b5eba"
+ "aec8775b.d30d08"
]
]
},
{
- "id": "2d5d0686.3b5eba",
+ "id": "aec8775b.d30d08",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1921.0186386108398,
- "y": 69.99999809265137,
- "z": "f3682574.cde048",
+ "x": 1915.0290451049805,
+ "y": 79.39999127388,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "8eefd68e.fffed8"
+ "6a968958.282fd8"
]
]
},
{
- "id": "8eefd68e.fffed8",
+ "id": "6a968958.282fd8",
"type": "set",
"name": "set etht-svc-descr",
"xml": "<set>\n<parameter name='prop.sotn.etht-svc-descr' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2108.3520793914795,
- "y": 68.46115493774414,
- "z": "f3682574.cde048",
+ "x": 2102.36248588562,
+ "y": 77.86114811897278,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "68c583ec.0ea75c",
+ "id": "2ad70cde.edce44",
"type": "for",
"name": "for loop i - Network input parameters",
"xml": "<for index=\"idx\" start=\"0\" end=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`\">\n",
"comments": "",
"outputs": 1,
- "x": 819.7343978881836,
- "y": 174.44442749023438,
- "z": "f3682574.cde048",
+ "x": 813.7448043823242,
+ "y": 183.844420671463,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "1eccb58d.49bd0a"
+ "5c98a39b.1a248c"
]
]
},
{
- "id": "b990d7b7.d50db8",
+ "id": "8f9a601f.f6c31",
"type": "switchNode",
"name": "switch tenantId",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'tenantId'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1741.4010200500488,
- "y": 117.33332538604736,
- "z": "f3682574.cde048",
+ "x": 1735.4114265441895,
+ "y": 126.733318567276,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "d96e6910.7c5ce8"
+ "bc2214ce.6d70f8"
]
]
},
{
- "id": "d96e6910.7c5ce8",
+ "id": "bc2214ce.6d70f8",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1928.4010200500488,
- "y": 113.33332538604736,
- "z": "f3682574.cde048",
+ "x": 1922.4114265441895,
+ "y": 122.733318567276,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "5b48eb71.3d5864"
+ "46fa1cce.7d92e4"
]
]
},
{
- "id": "5b48eb71.3d5864",
+ "id": "46fa1cce.7d92e4",
"type": "set",
"name": "set tenantId",
"xml": "<set>\n<parameter name='prop.sotn.tenantId' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2096.401020050049,
- "y": 113.93333148956299,
- "z": "f3682574.cde048",
+ "x": 2090.4114265441895,
+ "y": 123.33332467079163,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "84319a02.cc83c8",
+ "id": "2f4693cf.5c48bc",
"type": "switchNode",
"name": "switch CIR",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'CIR'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1723.2406768798828,
- "y": 207.33338356018066,
- "z": "f3682574.cde048",
+ "x": 1717.2510833740234,
+ "y": 216.7333767414093,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "c1cdced0.80842"
+ "6dc3af21.b1bfa"
]
]
},
{
- "id": "c1cdced0.80842",
+ "id": "6dc3af21.b1bfa",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1931.2407455444336,
- "y": 203.3333969116211,
- "z": "f3682574.cde048",
+ "x": 1925.2511520385742,
+ "y": 212.73339009284973,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "bcbc8704.d57d08"
+ "8bfeab9d.acab98"
]
]
},
{
- "id": "bcbc8704.d57d08",
+ "id": "8bfeab9d.acab98",
"type": "set",
"name": "set cir",
"xml": "<set>\n<parameter name='prop.sotn.cir' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2080.5740661621094,
- "y": 201.7945442199707,
- "z": "f3682574.cde048",
+ "x": 2074.58447265625,
+ "y": 211.19453740119934,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "fd903008.4e1c6",
+ "id": "a92d3efb.9a862",
"type": "switchNode",
"name": "switch vpnType",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vpnType'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1742.5491485595703,
- "y": 161.11110258102417,
- "z": "f3682574.cde048",
+ "x": 1736.559555053711,
+ "y": 170.5110957622528,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "25a34a38.dcc406"
+ "4f2e612c.866ed"
]
]
},
{
- "id": "25a34a38.dcc406",
+ "id": "4f2e612c.866ed",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1929.5491485595703,
- "y": 157.11110258102417,
- "z": "f3682574.cde048",
+ "x": 1923.559555053711,
+ "y": 166.5110957622528,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "fc6be9bd.f8dd28"
+ "a5f469fe.1f7fb8"
]
]
},
{
- "id": "fc6be9bd.f8dd28",
+ "id": "a5f469fe.1f7fb8",
"type": "set",
"name": "set vpnType",
"xml": "<set>\n<parameter name='prop.sotn.vpnType' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2098.882781982422,
- "y": 154.57226753234863,
- "z": "f3682574.cde048",
+ "x": 2092.8931884765625,
+ "y": 163.97226071357727,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "64b1c8e5.3ad178",
+ "id": "8921689e.0cc458",
"type": "switchNode",
"name": "switch access-provider-id",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-provider-id'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1764.0307846069336,
- "y": 483.55562114715576,
- "z": "f3682574.cde048",
+ "x": 1758.0411911010742,
+ "y": 492.9556143283844,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "d7282d61.ab2dc"
+ "db262e87.3b64a"
]
]
},
{
- "id": "c55257d1.2dce08",
+ "id": "23d4de8a.cdb1a2",
"type": "switchNode",
"name": "switch access-client-id",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-client-id'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1756.5862655639648,
- "y": 528.8889503479004,
- "z": "f3682574.cde048",
+ "x": 1750.5966720581055,
+ "y": 538.288943529129,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "3e5c147b.b1e80c"
+ "fd7a8c1c.3cc36"
]
]
},
{
- "id": "70e3ab9b.3b6ef4",
+ "id": "c9294e5e.af421",
"type": "switchNode",
"name": "switch access-topology-id",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-topology-id'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1761.0307235717773,
- "y": 567.7778358459473,
- "z": "f3682574.cde048",
+ "x": 1755.041130065918,
+ "y": 577.1778290271759,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "733a89f7.791ab8"
+ "131fe813.7d7c68"
]
]
},
{
- "id": "d7282d61.ab2dc",
+ "id": "db262e87.3b64a",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1948.0307846069336,
- "y": 482.5556364059448,
- "z": "f3682574.cde048",
+ "x": 1942.0411911010742,
+ "y": 491.95562958717346,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "bf6a3d1f.8cbc"
+ "34d62c4c.27c844"
]
]
},
{
- "id": "3e5c147b.b1e80c",
+ "id": "fd7a8c1c.3cc36",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1943.5862655639648,
- "y": 524.8889503479004,
- "z": "f3682574.cde048",
+ "x": 1937.5966720581055,
+ "y": 534.288943529129,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "eae17cc1.2b92b"
+ "98f0aeff.0649d"
]
]
},
{
- "id": "733a89f7.791ab8",
+ "id": "131fe813.7d7c68",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1948.0307235717773,
- "y": 563.7778358459473,
- "z": "f3682574.cde048",
+ "x": 1942.041130065918,
+ "y": 573.1778290271759,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "bf2ad720.26e6f8"
+ "7da4534a.aa3dbc"
]
]
},
{
- "id": "bf6a3d1f.8cbc",
+ "id": "34d62c4c.27c844",
"type": "set",
"name": "set access-provider-id",
"xml": "<set>\n<parameter name='prop.sotn.access-provider-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2131.253143310547,
- "y": 481.66682052612305,
- "z": "f3682574.cde048",
+ "x": 2125.2635498046875,
+ "y": 491.0668137073517,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "eae17cc1.2b92b",
+ "id": "98f0aeff.0649d",
"type": "set",
"name": "set access-client-id",
"xml": "<set>\n<parameter name='prop.sotn.access-client-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2120.1421813964844,
- "y": 522.8994269371033,
- "z": "f3682574.cde048",
+ "x": 2114.152587890625,
+ "y": 532.2994201183319,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "bf2ad720.26e6f8",
+ "id": "7da4534a.aa3dbc",
"type": "set",
"name": "set access-topology-id",
"xml": "<set>\n<parameter name='prop.sotn.access-topology-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2130.0310974121094,
- "y": 561.7882833480835,
- "z": "f3682574.cde048",
+ "x": 2124.04150390625,
+ "y": 571.1882765293121,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "f11487f.1a2d778",
+ "id": "f05d31ef.6d9f2",
"type": "switchNode",
"name": "switch access-node-id",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-node-id'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1761.8454818725586,
- "y": 614.4444794654846,
- "z": "f3682574.cde048",
+ "x": 1755.8558883666992,
+ "y": 623.8444726467133,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "3f7939dd.f6bad6"
+ "b31c7b7f.9ced68"
]
]
},
{
- "id": "3f7939dd.f6bad6",
+ "id": "b31c7b7f.9ced68",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1948.8454818725586,
- "y": 610.4444794654846,
- "z": "f3682574.cde048",
+ "x": 1942.8558883666992,
+ "y": 619.8444726467133,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "36806cf5.900574"
+ "76abc59c.8e0adc"
]
]
},
{
- "id": "f273d999.226da8",
+ "id": "3ac5e719.7cdd08",
"type": "switchNode",
"name": "switch access-ltp-id",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-ltp-id'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1758.6232528686523,
- "y": 656.8889560699463,
- "z": "f3682574.cde048",
+ "x": 1752.633659362793,
+ "y": 666.2889492511749,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "dd2b85b9.e6ec48"
+ "848bd038.a1fd2"
]
]
},
{
- "id": "dd2b85b9.e6ec48",
+ "id": "848bd038.a1fd2",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1945.6232528686523,
- "y": 652.8889560699463,
- "z": "f3682574.cde048",
+ "x": 1939.633659362793,
+ "y": 662.2889492511749,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "7e4475d7.79ec8c"
+ "33b13d79.1d69b2"
]
]
},
{
- "id": "36806cf5.900574",
+ "id": "76abc59c.8e0adc",
"type": "set",
"name": "set access-node-id",
"xml": "<set>\n<parameter name='prop.sotn.access-node-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2120.8457946777344,
- "y": 609.1216135025024,
- "z": "f3682574.cde048",
+ "x": 2114.856201171875,
+ "y": 618.5216066837311,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "7e4475d7.79ec8c",
+ "id": "33b13d79.1d69b2",
"type": "set",
"name": "set access-ltp-id",
"xml": "<set>\n<parameter name='prop.sotn.access-ltp-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2111.2899475097656,
- "y": 651.8993854522705,
- "z": "f3682574.cde048",
+ "x": 2105.3003540039062,
+ "y": 661.2993786334991,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "1522718b.801dfe",
- "type": "save",
- "name": "save srcLTP relationship in AAI",
- "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration:relationship-list' \n key='configuration.configuration-id = $prop.sotn.network-id' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"logical-link\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/logical-links/logical-link/' + $unique-src-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"logical-link.link-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$unique-src-ltpId`\" />",
- "comments": "",
- "outputs": 1,
- "x": 800.1047744750977,
- "y": 553.5184006690979,
- "z": "f3682574.cde048",
- "wires": [
- [
-
- ]
- ]
- },
- {
- "id": "e184926f.0ad08",
+ "id": "3e882683.7d50ea",
"type": "set",
"name": "set unique-src-ltpId",
"xml": "<set>\n<parameter name='unique-src-ltpId' value=\"`'nodeId-' + $prop.sotn.src-access-node-id + '-ltpId-' + $prop.sotn.src-access-ltp-id`\" />",
"comments": "",
- "x": 764.6603622436523,
- "y": 515.9999980926514,
- "z": "f3682574.cde048",
+ "x": 758.670768737793,
+ "y": 525.39999127388,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "e251bd6c.23dfe",
+ "id": "36127ed4.d4df92",
"type": "switchNode",
"name": "switch EIR",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'EIR'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1724.5311279296875,
- "y": 250.03125,
- "z": "f3682574.cde048",
+ "x": 1718.5415344238281,
+ "y": 259.43124318122864,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "8810ee0c.a4e38"
+ "f8180ca.c5aedf"
]
]
},
{
- "id": "8810ee0c.a4e38",
+ "id": "f8180ca.c5aedf",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1926.5310897827148,
- "y": 245.03127002716064,
- "z": "f3682574.cde048",
+ "x": 1920.5414962768555,
+ "y": 254.43126320838928,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "1e197aec.8afff5"
+ "5b0895e4.66408c"
]
]
},
{
- "id": "1e197aec.8afff5",
+ "id": "5b0895e4.66408c",
"type": "set",
"name": "set eir",
"xml": "<set>\n<parameter name='prop.sotn.eir' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2082.8645935058594,
- "y": 244.49240589141846,
- "z": "f3682574.cde048",
+ "x": 2076.875,
+ "y": 253.8923990726471,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "f51170c3.6db7",
+ "id": "f5195bd8.3c84a8",
"type": "switchNode",
"name": "switch CBS",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'CBS'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1724.5311279296875,
- "y": 299.03125,
- "z": "f3682574.cde048",
+ "x": 1718.5415344238281,
+ "y": 308.43124318122864,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "49df64ea.07087c"
+ "c725a9a8.031f88"
]
]
},
{
- "id": "49df64ea.07087c",
+ "id": "c725a9a8.031f88",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1923.5310897827148,
- "y": 295.0312566757202,
- "z": "f3682574.cde048",
+ "x": 1917.5414962768555,
+ "y": 304.43124985694885,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "386c9243.097e5e"
+ "9ce1ba29.f6ec68"
]
]
},
{
- "id": "386c9243.097e5e",
+ "id": "9ce1ba29.f6ec68",
"type": "set",
"name": "set cbs",
"xml": "<set>\n<parameter name='prop.sotn.cbs' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2081.8646545410156,
- "y": 293.49241638183594,
- "z": "f3682574.cde048",
+ "x": 2075.8750610351562,
+ "y": 302.8924095630646,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "ba516d92.f632",
+ "id": "ef3f5059.2d4ea",
"type": "switchNode",
"name": "switch PBS",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'PBS'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1724.5311279296875,
- "y": 344.03125,
- "z": "f3682574.cde048",
+ "x": 1718.5415344238281,
+ "y": 353.43124318122864,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "9ac50dab.4fbde"
+ "205ee4a2.b994ec"
]
]
},
{
- "id": "9ac50dab.4fbde",
+ "id": "205ee4a2.b994ec",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1923.5310897827148,
- "y": 337.03125762939453,
- "z": "f3682574.cde048",
+ "x": 1917.5414962768555,
+ "y": 346.43125081062317,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "fcfbd737.d83c58"
+ "547b372e.cb4fb8"
]
]
},
{
- "id": "fcfbd737.d83c58",
+ "id": "547b372e.cb4fb8",
"type": "set",
"name": "set pbs",
"xml": "<set>\n<parameter name='prop.sotn.pbs' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2084.8646545410156,
- "y": 338.49241638183594,
- "z": "f3682574.cde048",
+ "x": 2078.8750610351562,
+ "y": 347.8924095630646,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "fe52bad5.770908",
+ "id": "cd1b68b3.245ce8",
"type": "switchNode",
"name": "switch color-aware",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'color-aware'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1746.5312118530273,
- "y": 391.0312671661377,
- "z": "f3682574.cde048",
+ "x": 1740.541618347168,
+ "y": 400.43126034736633,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "bccb8e92.0b5c7"
+ "5d9f9f32.e6f9f"
]
]
},
{
- "id": "bccb8e92.0b5c7",
+ "id": "5d9f9f32.e6f9f",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1924.5312156677246,
- "y": 385.03125953674316,
- "z": "f3682574.cde048",
+ "x": 1918.5416221618652,
+ "y": 394.4312527179718,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "e228c0d1.eaf54"
+ "38ebf92a.f170a6"
]
]
},
{
- "id": "e228c0d1.eaf54",
+ "id": "38ebf92a.f170a6",
"type": "set",
"name": "set colorAware",
"xml": "<set>\n<parameter name='prop.sotn.colorAware' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2105.8645935058594,
- "y": 384.49241828918457,
- "z": "f3682574.cde048",
+ "x": 2099.875,
+ "y": 393.8924114704132,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "b3759567.fa1fc8",
+ "id": "43611249.362dac",
"type": "switchNode",
"name": "switch coupling-flag",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'coupling-flag'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1746.5312194824219,
- "y": 437.0312919616699,
- "z": "f3682574.cde048",
+ "x": 1740.5416259765625,
+ "y": 446.43128514289856,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "a4cdcb3.5f83638"
+ "bd25ef93.0d4f4"
]
]
},
{
- "id": "a4cdcb3.5f83638",
+ "id": "bd25ef93.0d4f4",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1924.5312118530273,
- "y": 429.0312604904175,
- "z": "f3682574.cde048",
+ "x": 1918.541618347168,
+ "y": 438.4312536716461,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "6e47434b.16603c"
+ "fd007702.45b298"
]
]
},
{
- "id": "6e47434b.16603c",
+ "id": "fd007702.45b298",
"type": "set",
"name": "set couplingFlag",
"xml": "<set>\n<parameter name='prop.sotn.couplingFlag' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2109.8645935058594,
- "y": 429.4924430847168,
- "z": "f3682574.cde048",
+ "x": 2103.875,
+ "y": 438.89243626594543,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "a9128726.ee25b8",
+ "id": "c4de2cef.1053e",
"type": "switchNode",
"name": "switch cVLAN",
"xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'cVLAN'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1737.5311584472656,
- "y": 702.0312995910645,
- "z": "f3682574.cde048",
+ "x": 1731.5415649414062,
+ "y": 711.4312927722931,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "1ad6eb3c.320b35"
+ "2a41f958.80fe56"
]
]
},
{
- "id": "1ad6eb3c.320b35",
+ "id": "2a41f958.80fe56",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1942.5311279296875,
- "y": 703.03125,
- "z": "f3682574.cde048",
+ "x": 1936.5415344238281,
+ "y": 712.4312431812286,
+ "z": "13b9846a.014e4c",
"wires": [
[
- "9dd46589.0d0a48"
+ "3e76d5dc.97935a"
]
]
},
{
- "id": "9dd46589.0d0a48",
+ "id": "3e76d5dc.97935a",
"type": "set",
"name": "set cVLAN",
"xml": "<set>\n<parameter name='prop.sotn.cVLAN' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 2096.197967529297,
- "y": 702.0417213439941,
- "z": "f3682574.cde048",
+ "x": 2090.2083740234375,
+ "y": 711.4417145252228,
+ "z": "13b9846a.014e4c",
"wires": [
]
},
{
- "id": "b152e598.bced08",
+ "id": "97828cf6.96e35",
"type": "comment",
"name": "TODO: Recheck AAI schemas",
"info": "",
"comments": "",
- "x": 791.0312805175781,
- "y": 33.03132629394531,
- "z": "f3682574.cde048",
+ "x": 785.0416870117188,
+ "y": 42.43131947517395,
+ "z": "13b9846a.014e4c",
"wires": [
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.json
index 4751238e..7c4dec42 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.json
@@ -1,86 +1,86 @@
[
{
- "id": "e417c255.55168",
+ "id": "dbfbe99b.e9cbe8",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 97,
- "y": 58.666653633117676,
- "z": "a60e1b2.0e00ee8",
+ "x": 116.01040649414062,
+ "y": 44.666656255722046,
+ "z": "25c39c60.9e5894",
"wires": [
[
- "7ab6ef86.3029d"
+ "23197697.79faaa"
]
]
},
{
- "id": "7ab6ef86.3029d",
+ "id": "23197697.79faaa",
"type": "service-logic",
- "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
- "version": "1.2.1-SNAPSHOT",
+ "version": "${project.version}",
"comments": "",
- "xml": "<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='1.2.1-SNAPSHOT'>",
+ "xml": "<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}'>",
"outputs": 1,
- "x": 253.00000381469727,
- "y": 149.66667556762695,
- "z": "a60e1b2.0e00ee8",
+ "x": 272.0104103088379,
+ "y": 135.66667819023132,
+ "z": "25c39c60.9e5894",
"wires": [
[
- "2feb52d2.f795ee"
+ "f4094d1c.b6791"
]
]
},
{
- "id": "2feb52d2.f795ee",
+ "id": "f4094d1c.b6791",
"type": "method",
"name": "method sotn-network-topology-operation-deactivate",
"xml": "<method rpc='sotn-network-topology-operation-deactivate' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 241.0001220703125,
- "y": 237.66665840148926,
- "z": "a60e1b2.0e00ee8",
+ "x": 260.0105285644531,
+ "y": 223.66666102409363,
+ "z": "25c39c60.9e5894",
"wires": [
[
- "3f213c21.d34564"
+ "8b588587.07d838"
]
]
},
{
- "id": "3f213c21.d34564",
+ "id": "8b588587.07d838",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 464.0000762939453,
- "y": 309.6667318344116,
- "z": "a60e1b2.0e00ee8",
+ "x": 483.01048278808594,
+ "y": 295.666734457016,
+ "z": "25c39c60.9e5894",
"wires": [
[
- "9aa8fa45.2b1e08",
- "f32a24c6.dffed8",
- "27480d76.5a34a2",
- "ca91a3af.46939",
- "616e31bd.918fb",
- "5b600577.38704c",
- "37e02aa8.77f506",
- "ef74970a.886bc8"
+ "37ee3ec1.d168c2",
+ "84f57d66.de4e4",
+ "54ed7f5.2ee008",
+ "642b70ce.9a12c",
+ "26a09247.15d9ee",
+ "d068035a.95625",
+ "453b73b2.972dac",
+ "c7d360a9.620ce"
]
]
},
{
- "id": "9aa8fa45.2b1e08",
+ "id": "37ee3ec1.d168c2",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-sotn-network-input-parameters",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 895.6111450195312,
- "y": 57.99999713897705,
- "z": "a60e1b2.0e00ee8",
+ "x": 914.6215515136719,
+ "y": 43.99999976158142,
+ "z": "25c39c60.9e5894",
"wires": [
[
@@ -88,15 +88,15 @@
]
},
{
- "id": "f32a24c6.dffed8",
+ "id": "84f57d66.de4e4",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sotn-network-topology-operation-activate\"/>\n<parameter name=\"field3\" value=\"SOTN-Deactivate\"/>\n",
"comments": "",
"outputs": 1,
- "x": 700.03125,
- "y": 101.03125,
- "z": "a60e1b2.0e00ee8",
+ "x": 719.0416564941406,
+ "y": 87.03125262260437,
+ "z": "25c39c60.9e5894",
"wires": [
[
@@ -104,54 +104,54 @@
]
},
{
- "id": "616e31bd.918fb",
+ "id": "26a09247.15d9ee",
"type": "set",
"name": "set networkId and network-object-path",
"xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<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/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` \" />",
"comments": "",
- "x": 791.0312995910645,
- "y": 289.5666913986206,
- "z": "a60e1b2.0e00ee8",
+ "x": 810.0417060852051,
+ "y": 275.566694021225,
+ "z": "25c39c60.9e5894",
"wires": [
]
},
{
- "id": "ef74970a.886bc8",
+ "id": "c7d360a9.620ce",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 712.8091011047363,
- "y": 479.1221113204956,
- "z": "a60e1b2.0e00ee8",
+ "x": 731.819507598877,
+ "y": 465.1221139431,
+ "z": "25c39c60.9e5894",
"wires": [
]
},
{
- "id": "5b600577.38704c",
+ "id": "d068035a.95625",
"type": "set",
"name": "set network-level-oper-status",
"xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingDelete' />\n<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`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
"comments": "",
- "x": 757.9202156066895,
- "y": 350.7888660430908,
- "z": "a60e1b2.0e00ee8",
+ "x": 776.9306221008301,
+ "y": 336.7888686656952,
+ "z": "25c39c60.9e5894",
"wires": [
]
},
{
- "id": "27480d76.5a34a2",
+ "id": "54ed7f5.2ee008",
"type": "execute",
"name": "execute Properties",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
"comments": "",
"outputs": 1,
- "x": 732.3333549499512,
- "y": 154.03128623962402,
- "z": "a60e1b2.0e00ee8",
+ "x": 751.3437614440918,
+ "y": 140.0312888622284,
+ "z": "25c39c60.9e5894",
"wires": [
[
@@ -159,15 +159,15 @@
]
},
{
- "id": "37e02aa8.77f506",
+ "id": "453b73b2.972dac",
"type": "update",
"name": "update SOTN Connectivity status to AAI",
"xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration' \n key='configuration.configuration-id = $network-topology-operation-input.network-information.network-id' >\n<parameter name='configuration-id' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='operational-status' value='PendingDelete' />",
"comments": "",
"outputs": 1,
- "x": 792.1387977600098,
- "y": 410.49205493927,
- "z": "a60e1b2.0e00ee8",
+ "x": 811.1492042541504,
+ "y": 396.4920575618744,
+ "z": "25c39c60.9e5894",
"wires": [
[
@@ -175,27 +175,27 @@
]
},
{
- "id": "ca91a3af.46939",
+ "id": "642b70ce.9a12c",
"type": "set",
"name": "set network in service-data",
"xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />",
"comments": "",
- "x": 754.475772857666,
- "y": 221.34445095062256,
- "z": "a60e1b2.0e00ee8",
+ "x": 773.4861793518066,
+ "y": 207.34445357322693,
+ "z": "25c39c60.9e5894",
"wires": [
]
},
{
- "id": "80bfe5ee.a7ea98",
+ "id": "e7e26097.3b8df",
"type": "comment",
"name": "TODO MP2MP",
"info": "Current implementation is for P2P connectivity\nFor MP2MP connectivity in future DG needs to be modified",
"comments": "",
- "x": 979.5069007873535,
- "y": 144.28467750549316,
- "z": "a60e1b2.0e00ee8",
+ "x": 998.5173072814941,
+ "y": 130.28468012809753,
+ "z": "25c39c60.9e5894",
"wires": [
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.json
index 8b953708..923f1e85 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.json
@@ -1,85 +1,85 @@
[
{
- "id": "6fceaf50.2ca8a",
+ "id": "dade7d5.3be378",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 97.03125762939453,
- "y": 60.531246185302734,
- "z": "4279d5d.f45972c",
+ "x": 116.01040649414062,
+ "y": 55.999999734573066,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
- "cff1a431.d9d948"
+ "88d1057.ae444f8"
]
]
},
{
- "id": "cff1a431.d9d948",
+ "id": "88d1057.ae444f8",
"type": "service-logic",
- "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
- "version": "1.2.1-SNAPSHOT",
+ "version": "${project.version}",
"comments": "",
- "xml": "<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='1.2.1-SNAPSHOT'>",
+ "xml": "<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}'>",
"outputs": 1,
- "x": 309.0312614440918,
- "y": 132.53126335144043,
- "z": "4279d5d.f45972c",
+ "x": 328.0104103088379,
+ "y": 128.00001690071076,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
- "f4a2f725.1d7778"
+ "1b879646.8c5f2a"
]
]
},
{
- "id": "f4a2f725.1d7778",
+ "id": "1b879646.8c5f2a",
"type": "method",
"name": "method sotn-network-topology-operation-delete",
"xml": "<method rpc='sotn-network-topology-operation-delete' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 297.03137969970703,
- "y": 220.53124618530273,
- "z": "4279d5d.f45972c",
+ "x": 316.0105285644531,
+ "y": 215.99999973457307,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
- "977562d1.fa7af"
+ "84422522.f0dfe8"
]
]
},
{
- "id": "977562d1.fa7af",
+ "id": "84422522.f0dfe8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 467.47571182250977,
- "y": 282.9757022857666,
- "z": "4279d5d.f45972c",
+ "x": 486.45486068725586,
+ "y": 278.44445583503693,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
- "6af1abf.a866354",
- "18eeced4.574d91",
- "406c5f6.7e479a",
- "10a58dd4.391ce2",
- "60c54ca0.bb3fb4",
- "47c1a26c.4cd8ec",
- "a482b966.7af068"
+ "8bc679c2.d2e228",
+ "3dd9c771.f2d768",
+ "81f00f63.ec84b",
+ "a13b30bd.b7628",
+ "a4092a94.cd0c48",
+ "2768fcc.58a2004",
+ "8b28cfea.bd23e"
]
]
},
{
- "id": "6af1abf.a866354",
+ "id": "8bc679c2.d2e228",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-sotn-network-input-parameters",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 929.4201583862305,
- "y": 77.53124618530273,
- "z": "4279d5d.f45972c",
+ "x": 948.3993072509766,
+ "y": 72.99999973457307,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
@@ -87,15 +87,15 @@
]
},
{
- "id": "18eeced4.574d91",
+ "id": "3dd9c771.f2d768",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sotn-network-topology-operation-delete\"/>\n<parameter name=\"field3\" value=\"SOTN-Delete\"/>\n",
"comments": "",
"outputs": 1,
- "x": 742.8089828491211,
- "y": 143.8646183013916,
- "z": "4279d5d.f45972c",
+ "x": 761.7881317138672,
+ "y": 139.33337185066193,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
@@ -103,67 +103,67 @@
]
},
{
- "id": "406c5f6.7e479a",
+ "id": "81f00f63.ec84b",
"type": "set",
"name": "set networkId and network-object-path",
"xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $network-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'` \" />",
"comments": "",
- "x": 827.4756660461426,
- "y": 391.9555377960205,
- "z": "4279d5d.f45972c",
+ "x": 846.4548149108887,
+ "y": 387.42429134529084,
+ "z": "1ff7724b.6a5b2e",
"wires": [
]
},
{
- "id": "10a58dd4.391ce2",
+ "id": "a13b30bd.b7628",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 756.5869140625,
- "y": 455.5109257698059,
- "z": "4279d5d.f45972c",
+ "x": 775.5660629272461,
+ "y": 450.97967931907624,
+ "z": "1ff7724b.6a5b2e",
"wires": [
]
},
{
- "id": "47c1a26c.4cd8ec",
+ "id": "2768fcc.58a2004",
"type": "set",
"name": "set new network length",
"xml": "<set>\n\t<parameter name=\"service-data.networks.network_length\" value=\"`$service-data.networks.network_length - 1`\"/>\n\n\t\n",
"comments": "",
- "x": 786.1083374023438,
- "y": 269.42644786834717,
- "z": "4279d5d.f45972c",
+ "x": 805.0874862670898,
+ "y": 264.8952014176175,
+ "z": "1ff7724b.6a5b2e",
"wires": [
]
},
{
- "id": "60c54ca0.bb3fb4",
+ "id": "a4092a94.cd0c48",
"type": "set",
"name": "Remove networks from ServiceData",
- "xml": "<set>\n\t<parameter name=\"service-data.networks.network[$nidx].\" value=\"\"/>\n\n",
+ "xml": "<set>\n\t<parameter name=\"service-data.networks.network[$tmp.nidx].\" value=\"\"/>\n\n",
"comments": "",
- "x": 826.732494354248,
- "y": 317.394389629364,
- "z": "4279d5d.f45972c",
+ "x": 845.7116432189941,
+ "y": 312.86314317863435,
+ "z": "1ff7724b.6a5b2e",
"wires": [
]
},
{
- "id": "a482b966.7af068",
+ "id": "8b28cfea.bd23e",
"type": "delete",
"name": "delete SOTN VPNInstance configuration in AAI",
"xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='configuration' \n key='configuration.configuration-id = $network-topology-operation-input.network-information.network-id'>\n",
"comments": "",
"outputs": 1,
- "x": 864.6638374328613,
- "y": 210.53753185272217,
- "z": "4279d5d.f45972c",
+ "x": 883.6429862976074,
+ "y": 206.0062854019925,
+ "z": "1ff7724b.6a5b2e",
"wires": [
[
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json
new file mode 100644
index 00000000..fa77c6f0
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json
@@ -0,0 +1,993 @@
+[
+ {
+ "id": "193b8ebe.168931",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 133.03125,
+ "y": 58.03125,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "516b96b5.f39508"
+ ]
+ ]
+ },
+ {
+ "id": "516b96b5.f39508",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 262.3169708251953,
+ "y": 153.26932334899902,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "d1fe8042.cc5a4"
+ ]
+ ]
+ },
+ {
+ "id": "d1fe8042.cc5a4",
+ "type": "method",
+ "name": "method validate-connection-attachment-input",
+ "xml": "<method rpc='validate-connection-attachment-input' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 258.94793701171875,
+ "y": 249.28427839279175,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b05ac558.fc0298"
+ ]
+ ]
+ },
+ {
+ "id": "b05ac558.fc0298",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 265.94799041748047,
+ "y": 367.28428649902344,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "11b2d666.19a8fa",
+ "a0f1dfee.c1db9",
+ "57efdb7e.7de474",
+ "e66639cf.56aa48"
+ ]
+ ]
+ },
+ {
+ "id": "11b2d666.19a8fa",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 671.9479293823242,
+ "y": 24.28428077697754,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "563fe857.005428"
+ ]
+ ]
+ },
+ {
+ "id": "563fe857.005428",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 883.6623001098633,
+ "y": 24.28429126739502,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "bf9c002.703e6"
+ ]
+ ]
+ },
+ {
+ "id": "bf9c002.703e6",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
+ "comments": "",
+ "x": 1058.0908508300781,
+ "y": 23.28428363800049,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a0f1dfee.c1db9",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 656.9478225708008,
+ "y": 366.2843084335327,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "6b1eefd1.a4726",
+ "517bdb12.579b84",
+ "352e24a0.788a7c",
+ "92374a0f.2f7d98",
+ "eb87ceea.db236"
+ ]
+ ]
+ },
+ {
+ "id": "6b1eefd1.a4726",
+ "type": "outcome",
+ "name": "create",
+ "xml": "<outcome value='create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 882.4479789733887,
+ "y": 194.28435230255127,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "2f04939.a9b436c"
+ ]
+ ]
+ },
+ {
+ "id": "517bdb12.579b84",
+ "type": "outcome",
+ "name": "delete",
+ "xml": "<outcome value='delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 884.4599838256836,
+ "y": 772.1745042800903,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "c9b924ac.aa4418"
+ ]
+ ]
+ },
+ {
+ "id": "352e24a0.788a7c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 885.2218246459961,
+ "y": 958.6029243469238,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "313b0ba4.9277b4"
+ ]
+ ]
+ },
+ {
+ "id": "313b0ba4.9277b4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
+ "comments": "",
+ "x": 1068.793357849121,
+ "y": 959.2220649719238,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c9b924ac.aa4418",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1066.6028099060059,
+ "y": 772.8409547805786,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "21ee0580.01132a"
+ ]
+ ]
+ },
+ {
+ "id": "72eb1342.c73a6c",
+ "type": "other",
+ "name": "DeleteSOTNAttachmentInstance",
+ "xml": "<outcome value='DeleteSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1380.3171997070312,
+ "y": 786.8409357070923,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "a0b8065a.68d4e8"
+ ]
+ ]
+ },
+ {
+ "id": "77510c5b.922da4",
+ "type": "other",
+ "name": "Other",
+ "xml": "<outcome value='Other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1313.3174514770508,
+ "y": 875.8410797119141,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "69dd5310.b0e50c"
+ ]
+ ]
+ },
+ {
+ "id": "69dd5310.b0e50c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete\" />\n",
+ "comments": "",
+ "x": 1500.3174514770508,
+ "y": 876.8410797119141,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a0b8065a.68d4e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1743.3170852661133,
+ "y": 500.84095668792725,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "6c6e8419.13924c",
+ "d81b196b.de9bf8"
+ ]
+ ]
+ },
+ {
+ "id": "6c6e8419.13924c",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1994.3169059753418,
+ "y": 536.8409214019775,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "3455ba94.f30a46"
+ ]
+ ]
+ },
+ {
+ "id": "3455ba94.f30a46",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2005.3169212341309,
+ "y": 625.8409004211426,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "42c69ed2.4c6e3"
+ ]
+ ]
+ },
+ {
+ "id": "42c69ed2.4c6e3",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-request-input.network-input-parameters.name is a required input\" />\n",
+ "comments": "",
+ "x": 2161.745632171631,
+ "y": 624.8409004211426,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "d81b196b.de9bf8",
+ "type": "execute",
+ "name": "execute requiredParameter",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\n<parameter name=\"connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id\" value=\"$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id\"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1997.0313415527344,
+ "y": 464.98375606536865,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "57efdb7e.7de474",
+ "type": "switchNode",
+ "name": "switch service-instance-id",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 697.0312728881836,
+ "y": 67.99399757385254,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "85a4ddfa.563bf"
+ ]
+ ]
+ },
+ {
+ "id": "85a4ddfa.563bf",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.4598617553711,
+ "y": 68.99399757385254,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "e5b10c87.6dcab"
+ ]
+ ]
+ },
+ {
+ "id": "e5b10c87.6dcab",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
+ "comments": "",
+ "x": 1071.8883895874023,
+ "y": 67.99399757385254,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "2f04939.a9b436c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1047.253620147705,
+ "y": 191.9940309524536,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "99cb6d0f.faec9"
+ ]
+ ]
+ },
+ {
+ "id": "99cb6d0f.faec9",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1142.4890975952148,
+ "y": 255.4991979598999,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "12b9b32c.a4b30d",
+ "46ff1495.b090cc"
+ ]
+ ]
+ },
+ {
+ "id": "12b9b32c.a4b30d",
+ "type": "outcome",
+ "name": "CreateSOTNAttachmentInstance",
+ "xml": "<outcome value='CreateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1397.8223190307617,
+ "y": 138.49896335601807,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "a1752dfc.73195"
+ ]
+ ]
+ },
+ {
+ "id": "46ff1495.b090cc",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1330.8223152160645,
+ "y": 284.1656885147095,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "67468b53.41b5e4"
+ ]
+ ]
+ },
+ {
+ "id": "67468b53.41b5e4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.request-action is invalid\" />\n",
+ "comments": "",
+ "x": 1529.3781509399414,
+ "y": 283.61034536361694,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "a1752dfc.73195",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1653.6977615356445,
+ "y": 136.88288116455078,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "db455346.fe8d9"
+ ]
+ ]
+ },
+ {
+ "id": "db455346.fe8d9",
+ "type": "for",
+ "name": "for loop i - Sotn input param",
+ "xml": "<for index=\"i\" start=\"0\" end=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1735.3287467956543,
+ "y": 197.18352508544922,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "250dfbd6.f87e24"
+ ]
+ ]
+ },
+ {
+ "id": "250dfbd6.f87e24",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1929.4120750427246,
+ "y": 161.93047618865967,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "6411a252.efa3dc",
+ "bd70a50a.f57aa8",
+ "bce7ba47.627aa8"
+ ]
+ ]
+ },
+ {
+ "id": "6411a252.efa3dc",
+ "type": "set",
+ "name": "clear tmp-data",
+ "xml": "<set>\n<parameter name='tmp.name' value='' />\n<parameter name='tmp.value' value='' />\n",
+ "comments": "",
+ "x": 2121.412136077881,
+ "y": 116.16857433319092,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bd70a50a.f57aa8",
+ "type": "set",
+ "name": "set tmp-data",
+ "xml": "<set>\n<parameter name='tmp.name' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`\"/>\n<parameter name='tmp.value' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`\"/>\n",
+ "comments": "",
+ "x": 2110.4121322631836,
+ "y": 193.16857862472534,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "bce7ba47.627aa8",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$tmp.name`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2110.4122161865234,
+ "y": 275.16857862472534,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "9a3c6ac9.101328",
+ "b44b4e5e.93a68",
+ "c46018d4.cde2f8",
+ "bf279f01.56146",
+ "2718b920.5086d6",
+ "9dec1793.d77e58",
+ "6b903ba1.e89184",
+ "9610c6b4.d4b598"
+ ]
+ ]
+ },
+ {
+ "id": "9a3c6ac9.101328",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2312.4763164520264,
+ "y": 618.9942054748535,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "75de126c.4ad7cc"
+ ]
+ ]
+ },
+ {
+ "id": "75de126c.4ad7cc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`\" />\n",
+ "comments": "",
+ "x": 2487.476665496826,
+ "y": 614.9942588806152,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "21ee0580.01132a",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$sotn-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1088.6980628967285,
+ "y": 851.994065284729,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "72eb1342.c73a6c",
+ "77510c5b.922da4"
+ ]
+ ]
+ },
+ {
+ "id": "b44b4e5e.93a68",
+ "type": "other",
+ "name": "sotnVpnName",
+ "xml": "<outcome value='sotnVpnName'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2327.4757356643677,
+ "y": 144.19395065307617,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b99955f0.4e5fc8"
+ ]
+ ]
+ },
+ {
+ "id": "b99955f0.4e5fc8",
+ "type": "switchNode",
+ "name": "switch value",
+ "xml": "<switch test=\"`$tmp.value`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2558.3922157287598,
+ "y": 333.20887565612793,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "79ab6adb.1f2014"
+ ]
+ ]
+ },
+ {
+ "id": "79ab6adb.1f2014",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2742.3921394348145,
+ "y": 329.208890914917,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "cf098d97.55fb"
+ ]
+ ]
+ },
+ {
+ "id": "cf098d97.55fb",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'$tmp.name +' is a required input'`\" />\n",
+ "comments": "",
+ "x": 2750.821060180664,
+ "y": 403.2088851928711,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c46018d4.cde2f8",
+ "type": "other",
+ "name": "clientSignal",
+ "xml": "<outcome value='clientSignal'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2333.475742340088,
+ "y": 213.19396114349365,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b99955f0.4e5fc8"
+ ]
+ ]
+ },
+ {
+ "id": "bf279f01.56146",
+ "type": "other",
+ "name": "access-provider-id",
+ "xml": "<outcome value='access-provider-id'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2335.3646812438965,
+ "y": 289.1939239501953,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b99955f0.4e5fc8"
+ ]
+ ]
+ },
+ {
+ "id": "2718b920.5086d6",
+ "type": "other",
+ "name": "access-client-id",
+ "xml": "<outcome value='access-client-id'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2332.3646812438965,
+ "y": 361.19392371177673,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b99955f0.4e5fc8"
+ ]
+ ]
+ },
+ {
+ "id": "9dec1793.d77e58",
+ "type": "other",
+ "name": "access-topology-id",
+ "xml": "<outcome value='access-topology-id'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2336.3646812438965,
+ "y": 423.1939239501953,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "6b903ba1.e89184",
+ "type": "other",
+ "name": "access-node-id",
+ "xml": "<outcome value='access-node-id'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2338.3648529052734,
+ "y": 488.19395637512207,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b99955f0.4e5fc8"
+ ]
+ ]
+ },
+ {
+ "id": "9610c6b4.d4b598",
+ "type": "other",
+ "name": "cVLAN",
+ "xml": "<outcome value='cVLAN'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2316.3651542663574,
+ "y": 552.7496566772461,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "b99955f0.4e5fc8"
+ ]
+ ]
+ },
+ {
+ "id": "92374a0f.2f7d98",
+ "type": "outcome",
+ "name": "activate",
+ "xml": "<outcome value='activate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 883.5312347412109,
+ "y": 364.53126430511475,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "40ca4bfa.dde754"
+ ]
+ ]
+ },
+ {
+ "id": "40ca4bfa.dde754",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1064.3369064331055,
+ "y": 365.24098110198975,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "38d46ef5.2515a2"
+ ]
+ ]
+ },
+ {
+ "id": "38d46ef5.2515a2",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1137.5723876953125,
+ "y": 445.74612522125244,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "bc03657f.d968f8",
+ "c7a46845.a20028"
+ ]
+ ]
+ },
+ {
+ "id": "bc03657f.d968f8",
+ "type": "outcome",
+ "name": "ActivateSOTNAttachmentInstance",
+ "xml": "<outcome value='ActivateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1393.9055290222168,
+ "y": 375.7458610534668,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "a0b8065a.68d4e8"
+ ]
+ ]
+ },
+ {
+ "id": "c7a46845.a20028",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.905445098877,
+ "y": 484.41266107559204,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "62ba5aa1.e5bf54"
+ ]
+ ]
+ },
+ {
+ "id": "62ba5aa1.e5bf54",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.request-action is invalid\" />\n",
+ "comments": "",
+ "x": 1509.461280822754,
+ "y": 483.8573179244995,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "eb87ceea.db236",
+ "type": "outcome",
+ "name": "deactivate",
+ "xml": "<outcome value='deactivate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 881.5311889648438,
+ "y": 584.53125,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "10580d5c.7277e3"
+ ]
+ ]
+ },
+ {
+ "id": "10580d5c.7277e3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1063.674015045166,
+ "y": 585.1977005004883,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "97009550.34e988"
+ ]
+ ]
+ },
+ {
+ "id": "a7478b0d.ac1368",
+ "type": "other",
+ "name": "DeactivateSOTNAttachmentInstance",
+ "xml": "<outcome value='DeactivateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1377.3884048461914,
+ "y": 599.197681427002,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "a0b8065a.68d4e8"
+ ]
+ ]
+ },
+ {
+ "id": "f5f85a41.420a68",
+ "type": "other",
+ "name": "Other",
+ "xml": "<outcome value='Other'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.388656616211,
+ "y": 688.1978254318237,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "e751aaad.be4338"
+ ]
+ ]
+ },
+ {
+ "id": "e751aaad.be4338",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete\" />\n",
+ "comments": "",
+ "x": 1497.388656616211,
+ "y": 689.1978254318237,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "97009550.34e988",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$sotn-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1085.7692680358887,
+ "y": 664.3508110046387,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "a7478b0d.ac1368",
+ "f5f85a41.420a68"
+ ]
+ ]
+ },
+ {
+ "id": "e66639cf.56aa48",
+ "type": "switchNode",
+ "name": "switch parent-service-instance-id",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.service-information.parent-service-instance-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 713.0103988647461,
+ "y": 114.01042175292969,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "2f054da9.55b662"
+ ]
+ ]
+ },
+ {
+ "id": "2f054da9.55b662",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 919.43896484375,
+ "y": 118.01041412353516,
+ "z": "548da231.570f2c",
+ "wires": [
+ [
+ "271d7aba.ca1876"
+ ]
+ ]
+ },
+ {
+ "id": "271d7aba.ca1876",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.parent-service-instance-id is a required input\" />\n",
+ "comments": "",
+ "x": 1077.8674926757812,
+ "y": 117.01041412353516,
+ "z": "548da231.570f2c",
+ "wires": [
+
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json
index 4a147523..11ad7043 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json
@@ -1,1727 +1,1857 @@
[
{
- "id": "5f3f5b7a.41ac74",
+ "id": "d10892d8.d1d04",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 134.03125,
- "y": 59.99999809265137,
- "z": "8893d0be.32531",
+ "x": 119.00390625,
+ "y": 89.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "f0f3a318.27bb3"
+ "cc6fb669.27adb8"
]
]
},
{
- "id": "f0f3a318.27bb3",
+ "id": "cc6fb669.27adb8",
"type": "service-logic",
- "name": "GENERIC-RESOURCE-API 1.2.0-SNAPSHOT",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
- "version": "1.2.0-SNAPSHOT",
+ "version": "${project.version}",
"comments": "",
- "xml": "<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='1.2.0-SNAPSHOT'>",
+ "xml": "<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}'>",
"outputs": 1,
- "x": 206.31695556640625,
- "y": 112.23811149597168,
- "z": "8893d0be.32531",
+ "x": 191.28961181640625,
+ "y": 142.23811221122742,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "f248e777.889178"
+ "5c46313a.cc52b"
]
]
},
{
- "id": "f248e777.889178",
+ "id": "5c46313a.cc52b",
"type": "method",
"name": "validate-network-input",
"xml": "<method rpc='validate-network-input' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 206.45987701416016,
- "y": 173.99999809265137,
- "z": "8893d0be.32531",
+ "x": 191.43253326416016,
+ "y": 203.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "18b797ed.89fef8"
+ "589f6d93.3cb684"
]
]
},
{
- "id": "18b797ed.89fef8",
+ "id": "589f6d93.3cb684",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 219.7812957763672,
- "y": 456.4434928894043,
- "z": "8893d0be.32531",
+ "x": 204.7539520263672,
+ "y": 486.44349360466003,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "5cd1db9.aa83c24",
- "8d16602e.7c349",
- "768a7c7d.821fd4",
- "73298f6d.494ec",
- "d214794.53eb788",
- "f3d5b1ea.9645e"
+ "63545e47.56cdf",
+ "3b9c61c8.ee403e",
+ "38cd8ee0.dfeaa2",
+ "e55ef36.fecc71",
+ "ab9b3245.3b163",
+ "cf4a32b5.6699"
]
]
},
{
- "id": "5cd1db9.aa83c24",
+ "id": "63545e47.56cdf",
"type": "switchNode",
"name": "switch svc-request-id",
"xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-request-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 536.1741104125977,
- "y": 182.4285888671875,
- "z": "8893d0be.32531",
+ "x": 521.1467666625977,
+ "y": 212.42858958244324,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "ab4d4682.0682b8"
+ "e01f3b58.5084b8"
]
]
},
{
- "id": "ab4d4682.0682b8",
+ "id": "e01f3b58.5084b8",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 761.8884146554128,
- "y": 182.42859131949263,
- "z": "8893d0be.32531",
+ "x": 746.8610709054128,
+ "y": 212.42859203474836,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "11d5bd20.05ddf3"
+ "fe964aff.bb00b8"
]
]
},
{
- "id": "11d5bd20.05ddf3",
+ "id": "fe964aff.bb00b8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
"comments": "",
- "x": 913.3169806344167,
- "y": 182.428589412144,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 898.2896368844167,
+ "y": 212.42859012739973,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "8d16602e.7c349",
+ "id": "3b9c61c8.ee403e",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 524.7454833984375,
- "y": 141.00001907348633,
- "z": "8893d0be.32531",
+ "x": 509.7181396484375,
+ "y": 171.00001978874207,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4b6601a6.daaba"
+ "438a3c10.6a7244"
]
]
},
{
- "id": "4b6601a6.daaba",
+ "id": "438a3c10.6a7244",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 760.4598350524902,
- "y": 139.5714168548584,
- "z": "8893d0be.32531",
+ "x": 745.4324913024902,
+ "y": 169.57141757011414,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "887d1db4.9d597"
+ "eafc9a3d.67efc8"
]
]
},
{
- "id": "887d1db4.9d597",
+ "id": "eafc9a3d.67efc8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
"comments": "",
- "x": 910.4598083496094,
- "y": 139.57142639160156,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 895.4324645996094,
+ "y": 169.5714271068573,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "768a7c7d.821fd4",
+ "id": "38cd8ee0.dfeaa2",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 534.7455215454102,
- "y": 225.28573608398438,
- "z": "8893d0be.32531",
+ "x": 519.7181777954102,
+ "y": 255.2857367992401,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "cae90e43.102ff"
+ "4c7ee001.df1f4"
]
]
},
{
- "id": "cae90e43.102ff",
+ "id": "4c7ee001.df1f4",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 761.8884102957591,
- "y": 225.28574507577105,
- "z": "8893d0be.32531",
+ "x": 746.8610665457591,
+ "y": 255.28574579102678,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4e414a1c.e00d24"
+ "c0c0e1df.937f8"
]
]
},
{
- "id": "4e414a1c.e00d24",
+ "id": "c0c0e1df.937f8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n",
"comments": "",
- "x": 913.316976274763,
- "y": 225.2857431684224,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 898.289632524763,
+ "y": 255.28574388367815,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "73298f6d.494ec",
+ "id": "e55ef36.fecc71",
"type": "switchNode",
"name": "switch service-instance-id",
"xml": "<switch test='`$network-topology-operation-input.service-information.service-instance-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 535.8884429931641,
- "y": 282.00001335144043,
- "z": "8893d0be.32531",
+ "x": 520.8610992431641,
+ "y": 312.00001406669617,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "df674f5c.d1532"
+ "41b98218.67710c"
]
]
},
{
- "id": "df674f5c.d1532",
+ "id": "41b98218.67710c",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 760.3170166015625,
- "y": 268.99999809265137,
- "z": "8893d0be.32531",
+ "x": 745.2896728515625,
+ "y": 298.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "3065439b.14d65c"
+ "4a5f94d4.e9a16c"
]
]
},
{
- "id": "3065439b.14d65c",
+ "id": "4a5f94d4.e9a16c",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
"comments": "",
- "x": 918.7455444335938,
- "y": 267.99999809265137,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 903.7182006835938,
+ "y": 297.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "f4d14344.0e5f4",
+ "id": "577e7fa3.209ba",
"type": "comment",
"name": "validate-network-input - CHANGELOG",
"info": "12/8: Initial release 1.0.0",
"comments": "",
- "x": 419.03125,
- "y": 23.999998092651367,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 404.00390625,
+ "y": 53.999998807907104,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "d214794.53eb788",
+ "id": "ab9b3245.3b163",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 493.03126525878906,
- "y": 456.00001525878906,
- "z": "8893d0be.32531",
+ "x": 478.00392150878906,
+ "y": 486.0000159740448,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "54861d88.081944",
- "2eb0e84d.0d9948",
- "8ffdd9e.5892828",
- "8b85a1e9.e5cbc"
+ "c25cbef0.24b67",
+ "ffa0841e.8dfeb8",
+ "ec8a549d.c2d768",
+ "79b3c9cf.7c9a88"
]
]
},
{
- "id": "54861d88.081944",
+ "id": "c25cbef0.24b67",
"type": "other",
"name": "assign",
"xml": "<outcome value='assign'>",
"comments": "",
"outputs": 1,
- "x": 753.74560546875,
- "y": 360.57140922546387,
- "z": "8893d0be.32531",
+ "x": 738.71826171875,
+ "y": 390.5714099407196,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "a0ba5094.34089"
+ "4f0ebdbc.56efe4"
]
]
},
{
- "id": "2eb0e84d.0d9948",
+ "id": "ffa0841e.8dfeb8",
"type": "other",
"name": "activate",
"xml": "<outcome value='activate'>",
"comments": "",
"outputs": 1,
- "x": 749.0313568115234,
- "y": 490.9999885559082,
- "z": "8893d0be.32531",
+ "x": 734.0040130615234,
+ "y": 520.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "5513e34e.18308c"
+ "5ebeaa8b.6f2ad4"
]
]
},
{
- "id": "8ffdd9e.5892828",
+ "id": "ec8a549d.c2d768",
"type": "other",
"name": "deactivate",
"xml": "<outcome value='deactivate'>",
"comments": "",
"outputs": 1,
- "x": 752.0313186645508,
- "y": 657.0000114440918,
- "z": "8893d0be.32531",
+ "x": 737.0039749145508,
+ "y": 687.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "b5960321.a2acd"
+ "bb3fcaae.e4ad38"
]
]
},
{
- "id": "a0ba5094.34089",
+ "id": "4f0ebdbc.56efe4",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 916.03125,
- "y": 359.99999809265137,
- "z": "8893d0be.32531",
+ "x": 901.00390625,
+ "y": 389.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "9bad05fb.b569a8"
+ "74260e08.eb326"
]
]
},
{
- "id": "9bad05fb.b569a8",
+ "id": "74260e08.eb326",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1136.03125,
- "y": 359.99999809265137,
- "z": "8893d0be.32531",
+ "x": 1121.00390625,
+ "y": 389.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "69ced2d8.9588fc",
- "616c725f.66f59c"
+ "8fe022cd.91c96",
+ "dea0b675.d14408"
]
]
},
{
- "id": "69ced2d8.9588fc",
+ "id": "8fe022cd.91c96",
"type": "other",
"name": "CreateNetworkInstance",
"xml": "<outcome value='CreateNetworkInstance'>",
"comments": "",
"outputs": 1,
- "x": 1416.03125,
- "y": 324.99999809265137,
- "z": "8893d0be.32531",
+ "x": 1401.00390625,
+ "y": 354.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "8d01ace0.92a79"
+ "c969e857.f1a468"
]
]
},
{
- "id": "616c725f.66f59c",
+ "id": "dea0b675.d14408",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1365.03125,
- "y": 368.99999809265137,
- "z": "8893d0be.32531",
+ "x": 1350.00390625,
+ "y": 398.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "5fb52cac.0eb654"
+ "75ab9633.6c0538"
]
]
},
{
- "id": "5fb52cac.0eb654",
+ "id": "75ab9633.6c0538",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be CreateNetworkInstance for svc-action=assign\" />\n",
"comments": "",
- "x": 1534.03125,
- "y": 368.99999809265137,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 1519.00390625,
+ "y": 398.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "5513e34e.18308c",
+ "id": "5ebeaa8b.6f2ad4",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 923.0313568115234,
- "y": 490.9999885559082,
- "z": "8893d0be.32531",
+ "x": 908.0040130615234,
+ "y": 520.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "2378c65e.073eba"
+ "eeee19ec.1dddd8"
]
]
},
{
- "id": "2378c65e.073eba",
+ "id": "eeee19ec.1dddd8",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1140.0313568115234,
- "y": 490.9999885559082,
- "z": "8893d0be.32531",
+ "x": 1125.0040130615234,
+ "y": 520.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "8de45679.3b3c18",
- "6955c602.6a6528",
- "96152f20.469f"
+ "19ab9af4.959125",
+ "267e33ff.fa91ec",
+ "3c8e6628.d91a7a",
+ "631913c6.522e9c"
]
]
},
{
- "id": "8de45679.3b3c18",
+ "id": "19ab9af4.959125",
"type": "other",
"name": "CreateNetworkInstance",
"xml": "<outcome value='CreateNetworkInstance'>",
"comments": "",
"outputs": 1,
- "x": 1421.0313568115234,
- "y": 491.9999885559082,
- "z": "8893d0be.32531",
+ "x": 1406.0040130615234,
+ "y": 521.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "94518ad8.741728"
+ "5bbb66dc.aa9cd8"
]
]
},
{
- "id": "6955c602.6a6528",
+ "id": "267e33ff.fa91ec",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1364.0313568115234,
- "y": 531.9999885559082,
- "z": "8893d0be.32531",
+ "x": 1349.0040130615234,
+ "y": 561.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "8b16105d.d10c5"
+ "bc137916.f46628"
]
]
},
{
- "id": "8b16105d.d10c5",
+ "id": "bc137916.f46628",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be CreateNetworkInstance for svc-action=activate\" />\n",
"comments": "",
- "x": 1535.8886528015137,
- "y": 533.4285945892334,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 1520.8613090515137,
+ "y": 563.4285953044891,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "b5960321.a2acd",
+ "id": "bb3fcaae.e4ad38",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 934.0313186645508,
- "y": 656.0000114440918,
- "z": "8893d0be.32531",
+ "x": 919.0039749145508,
+ "y": 686.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "413c7adb.c15c44"
+ "55160352.39b04c"
]
]
},
{
- "id": "413c7adb.c15c44",
+ "id": "55160352.39b04c",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1151.0313186645508,
- "y": 656.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1136.0039749145508,
+ "y": 686.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "366873bb.05934c",
- "2e293ab5.08c366",
- "b2644153.2a067"
+ "5cc0d485.64c92c",
+ "7d1ae710.c4ae68",
+ "6fed75a2.decf0c",
+ "1da958a1.745b77"
]
]
},
{
- "id": "366873bb.05934c",
+ "id": "5cc0d485.64c92c",
"type": "other",
"name": "DeleteNetworkInstance",
"xml": "<outcome value='DeleteNetworkInstance'>",
"comments": "",
"outputs": 1,
- "x": 1432.0313186645508,
- "y": 657.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1417.0039749145508,
+ "y": 687.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "7a6470e0.53a19"
+ "109f2b9.d4078d4"
]
]
},
{
- "id": "2e293ab5.08c366",
+ "id": "7d1ae710.c4ae68",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1375.0313186645508,
- "y": 697.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1360.0039749145508,
+ "y": 727.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "c463df98.ea3ee"
+ "20482a05.f565a6"
]
]
},
{
- "id": "c463df98.ea3ee",
+ "id": "20482a05.f565a6",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=deactivate\" />\n",
"comments": "",
- "x": 1544.0313835144043,
- "y": 699.8571729660034,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 1529.0040397644043,
+ "y": 729.8571736812592,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "8b85a1e9.e5cbc",
+ "id": "79b3c9cf.7c9a88",
"type": "other",
"name": "unassign",
"xml": "<outcome value='unassign'>",
"comments": "",
"outputs": 1,
- "x": 748.0312881469727,
- "y": 750.9999885559082,
- "z": "8893d0be.32531",
+ "x": 733.0039443969727,
+ "y": 780.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "c3a2fdfb.7fd72"
+ "45974a1d.441444"
]
]
},
{
- "id": "c3a2fdfb.7fd72",
+ "id": "45974a1d.441444",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 930.0313186645508,
- "y": 747.0000114440918,
- "z": "8893d0be.32531",
+ "x": 915.0039749145508,
+ "y": 777.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4f8159c.6d86fa8"
+ "e8367231.5b793"
]
]
},
{
- "id": "4f8159c.6d86fa8",
+ "id": "e8367231.5b793",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1147.0313186645508,
- "y": 747.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1132.0039749145508,
+ "y": 777.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "550fb1ae.b9c5c",
- "8c9d3f7f.4516f"
+ "2783d45.3ac4c2c",
+ "dc9b366d.05d508"
]
]
},
{
- "id": "550fb1ae.b9c5c",
+ "id": "2783d45.3ac4c2c",
"type": "other",
"name": "DeleteNetworkInstance",
"xml": "<outcome value='DeleteNetworkInstance'>",
"comments": "",
"outputs": 1,
- "x": 1428.0313186645508,
- "y": 748.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1413.0039749145508,
+ "y": 778.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "8347def4.e8f43"
+ "5f15529a.e2031c"
]
]
},
{
- "id": "8c9d3f7f.4516f",
+ "id": "dc9b366d.05d508",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1371.0313186645508,
- "y": 788.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1356.0039749145508,
+ "y": 818.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "895e5aa8.c214e8"
+ "d903000c.e9d17"
]
]
},
{
- "id": "895e5aa8.c214e8",
+ "id": "d903000c.e9d17",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=unassign\" />\n",
"comments": "",
- "x": 1540.0313186645508,
- "y": 788.0000114440918,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 1525.0039749145508,
+ "y": 818.0000121593475,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "8d01ace0.92a79",
+ "id": "c969e857.f1a468",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1652.03125,
- "y": 323.99999809265137,
- "z": "8893d0be.32531",
+ "x": 1637.00390625,
+ "y": 353.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "1bfbd5a6.718d3a",
- "e6612016.3e4c5",
- "b1a90522.c6b958",
- "6352e03d.22eed",
- "a58d7ad5.945658",
- "6492fa8d.a3f754",
- "dbf6cbd2.03c8d8"
+ "c9238c13.c3f79",
+ "a449f5ae.312af8",
+ "fd80c464.68ff68",
+ "416cb672.740808",
+ "c16bbddb.dcdad",
+ "f8366874.128af8",
+ "d7a16e1b.af209"
]
]
},
{
- "id": "94518ad8.741728",
+ "id": "5bbb66dc.aa9cd8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1646.0313568115234,
- "y": 491.9999885559082,
- "z": "8893d0be.32531",
+ "x": 1631.0040130615234,
+ "y": 521.9999892711639,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "1bfbd5a6.718d3a",
- "e6612016.3e4c5",
- "b1a90522.c6b958",
- "6352e03d.22eed",
- "a58d7ad5.945658",
- "6492fa8d.a3f754",
- "de4bc965.10a9a8"
+ "c9238c13.c3f79",
+ "a449f5ae.312af8",
+ "fd80c464.68ff68",
+ "416cb672.740808",
+ "c16bbddb.dcdad",
+ "f8366874.128af8",
+ "56dfe279.93c1fc"
]
]
},
{
- "id": "7a6470e0.53a19",
+ "id": "109f2b9.d4078d4",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1688.0313186645508,
- "y": 658.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1673.0039749145508,
+ "y": 688.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "de4bc965.10a9a8"
+ "56dfe279.93c1fc"
]
]
},
{
- "id": "8347def4.e8f43",
+ "id": "5f15529a.e2031c",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1687.0313186645508,
- "y": 749.0000114440918,
- "z": "8893d0be.32531",
+ "x": 1672.0039749145508,
+ "y": 779.0000121593475,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "de4bc965.10a9a8"
+ "56dfe279.93c1fc"
]
]
},
{
- "id": "a58d7ad5.945658",
+ "id": "c16bbddb.dcdad",
"type": "switchNode",
"name": "switch onap-model-information.model-uuid",
"xml": "<switch test='`$network-topology-operation-input.service-information.onap-model-information.model-uuid`'>\n",
"comments": "",
"outputs": 1,
- "x": 2288.697914123535,
- "y": 1047.9999494552612,
- "z": "8893d0be.32531",
+ "x": 2273.670570373535,
+ "y": 1077.999950170517,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "a2089e7a.ac5b1",
- "42b6c1fc.c06a7"
+ "78f46224.bc9d9c",
+ "178e4db8.c59b02"
]
]
},
{
- "id": "8ba860ac.98ed2",
+ "id": "5358502c.4d84d",
"type": "comment",
"name": "validations - required for all",
"info": "",
"comments": "",
- "x": 552.03125,
- "y": 97.99999809265137,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 537.00390625,
+ "y": 127.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "7f1548ab.76a718",
+ "id": "e29df723.fb6ab8",
"type": "comment",
"name": "validations specific per svc-action",
"info": "",
"comments": "",
- "x": 564.03125,
- "y": 312.99999809265137,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 549.00390625,
+ "y": 342.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "a63772a0.90d1",
+ "id": "be93f819.8db9c8",
"type": "comment",
"name": "network-request-information block validations",
"info": "",
"comments": "",
- "x": 2292.03125,
- "y": 899.9999980926514,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2277.00390625,
+ "y": 929.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "1bfbd5a6.718d3a",
+ "id": "c9238c13.c3f79",
"type": "switchNode",
"name": "switch network-request-information.tenant",
"xml": "<switch test='`$network-topology-operation-input.network-request-input.tenant`'>\n",
"comments": "",
"outputs": 1,
- "x": 2289.03125,
- "y": 949.9999980926514,
- "z": "8893d0be.32531",
+ "x": 2274.00390625,
+ "y": 979.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "cf16e334.e3d85"
+ "6b327341.d34c9c"
]
]
},
{
- "id": "cf16e334.e3d85",
+ "id": "6b327341.d34c9c",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2530.74560546875,
- "y": 951.9999980926514,
- "z": "8893d0be.32531",
+ "x": 2515.71826171875,
+ "y": 981.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "ad280e32.435b6"
+ "f7cc75bc.fb7508"
]
]
},
{
- "id": "ad280e32.435b6",
+ "id": "f7cc75bc.fb7508",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-request-input.tenant is a required input\" />\n",
"comments": "",
- "x": 2682.1741943359375,
- "y": 949.9999980926514,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2667.1468505859375,
+ "y": 979.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "e6612016.3e4c5",
+ "id": "a449f5ae.312af8",
"type": "switchNode",
"name": "switch network-request-information.aic-cloud-region",
"xml": "<switch test='`$network-topology-operation-input.network-request-input.aic-cloud-region`'>\n",
"comments": "",
"outputs": 1,
- "x": 2318.03125,
- "y": 992.9999980926514,
- "z": "8893d0be.32531",
+ "x": 2303.00390625,
+ "y": 1022.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "2e6c842b.3d3bfc"
+ "12e07938.eebd67"
]
]
},
{
- "id": "2e6c842b.3d3bfc",
+ "id": "12e07938.eebd67",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2579.74560546875,
- "y": 992.9999980926514,
- "z": "8893d0be.32531",
+ "x": 2564.71826171875,
+ "y": 1022.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4f8437fb.4ebe28"
+ "411017cd.e8e7d8"
]
]
},
{
- "id": "4f8437fb.4ebe28",
+ "id": "411017cd.e8e7d8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.network-request-information.aic-cloud-region is a required input\" />\n",
"comments": "",
- "x": 2744.174072265625,
- "y": 991.9999980926514,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2729.146728515625,
+ "y": 1021.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "b1a90522.c6b958",
+ "id": "fd80c464.68ff68",
"type": "switchNode",
"name": "switch onap-model-information.model-uuid",
"xml": "<switch test='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`'>\n",
"comments": "",
"outputs": 1,
- "x": 2281.1741943359375,
- "y": 819.8571147918701,
- "z": "8893d0be.32531",
+ "x": 2266.1468505859375,
+ "y": 849.8571155071259,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "662ea3fd.3a569c"
+ "bf2b8802.529248"
]
]
},
{
- "id": "662ea3fd.3a569c",
+ "id": "bf2b8802.529248",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2521.1741943359375,
- "y": 820.8571147918701,
- "z": "8893d0be.32531",
+ "x": 2506.1468505859375,
+ "y": 850.8571155071259,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "a27bb01c.4d33c"
+ "c8b441e9.e2bc9"
]
]
},
{
- "id": "a27bb01c.4d33c",
+ "id": "c8b441e9.e2bc9",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-information.onap-model-information.model-uuid is a required input\" />\n",
"comments": "",
- "x": 2686.6026611328125,
- "y": 818.857084274292,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2671.5753173828125,
+ "y": 848.8570849895477,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "6352e03d.22eed",
+ "id": "416cb672.740808",
"type": "switchNode",
"name": "switch onap-model-information.model-customization-uuid",
"xml": "<switch test='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`'>\n",
"comments": "",
"outputs": 1,
- "x": 2326.03125,
- "y": 778.9999980926514,
- "z": "8893d0be.32531",
+ "x": 2311.00390625,
+ "y": 808.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "8f05ec67.db021"
+ "d6b8ccdf.da70c"
]
]
},
{
- "id": "8f05ec67.db021",
+ "id": "d6b8ccdf.da70c",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2622.03125,
- "y": 779.9999980926514,
- "z": "8893d0be.32531",
+ "x": 2607.00390625,
+ "y": 809.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "68925179.7127d"
+ "1c49c6e.f874e39"
]
]
},
{
- "id": "68925179.7127d",
+ "id": "1c49c6e.f874e39",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-information.onap-model-information.model-customization-uuid is a required input\" />\n",
"comments": "",
- "x": 2769.459716796875,
- "y": 779.9999980926514,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2754.432373046875,
+ "y": 809.9999988079071,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "f3d5b1ea.9645e",
+ "id": "cf4a32b5.6699",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 526.3883247375488,
- "y": 676.6428327560425,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 511.3609809875488,
+ "y": 706.6428334712982,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "96895c09.a6753",
+ "id": "e96a8642.305778",
"type": "get-resource",
"name": "get-resource NETWORK_MODEL",
"xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\n and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\n pfx='network-model'>\n\n",
"comments": "",
"outputs": 1,
- "x": 3004.2143173217773,
- "y": 1263.1784744262695,
- "z": "8893d0be.32531",
+ "x": 2989.1869735717773,
+ "y": 1293.1784751415253,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "f9258daf.8b602",
- "5c25b9d9.438728"
+ "f00cd782.2f4528",
+ "833d5e59.8da03"
]
]
},
{
- "id": "ac3d2a23.2dc468",
+ "id": "99436cff.71a52",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No network model found for customization UUID ' \n + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\n ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
"comments": "",
- "x": 3463.6785202026367,
- "y": 1254.225890159607,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 3448.6511764526367,
+ "y": 1284.2258908748627,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "f9258daf.8b602",
+ "id": "f00cd782.2f4528",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 3264.9285316467285,
- "y": 1247.5830965042114,
- "z": "8893d0be.32531",
+ "x": 3249.9011878967285,
+ "y": 1277.5830972194672,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "ac3d2a23.2dc468"
+ "99436cff.71a52"
]
]
},
{
- "id": "5c25b9d9.438728",
+ "id": "833d5e59.8da03",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 3258.6785316467285,
- "y": 1280.0830965042114,
- "z": "8893d0be.32531",
+ "x": 3243.6511878967285,
+ "y": 1310.0830972194672,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "ac3d2a23.2dc468"
+ "99436cff.71a52"
]
]
},
{
- "id": "a2089e7a.ac5b1",
+ "id": "78f46224.bc9d9c",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2553.845993041992,
- "y": 1047.5925884246826,
- "z": "8893d0be.32531",
+ "x": 2538.818649291992,
+ "y": 1077.5925891399384,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "620a39e0.d0cdb8"
+ "2dfa7f78.06543"
]
]
},
{
- "id": "42b6c1fc.c06a7",
+ "id": "178e4db8.c59b02",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 2560.0959281921387,
- "y": 1186.7591934204102,
- "z": "8893d0be.32531",
+ "x": 2545.0685844421387,
+ "y": 1216.759194135666,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "8a643c02.96779"
+ "7c0ea99f.5a1678"
]
]
},
{
- "id": "4b09caaf.8b4044",
+ "id": "fe208cbc.dc6fa",
"type": "get-resource",
"name": "get-resource SERVICE_MODEL",
"xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\n pfx='service-model'>\n\n",
"comments": "",
"outputs": 1,
- "x": 3006.7143020629883,
- "y": 1186.2432470321655,
- "z": "8893d0be.32531",
+ "x": 2991.6869583129883,
+ "y": 1216.2432477474213,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "c368ca47.7ac378",
- "c422bd25.160ed"
+ "1c40e946.8c8157",
+ "793372b8.fc938c"
]
]
},
{
- "id": "f0c9c755.52a178",
+ "id": "789a1cde.2f3584",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
"comments": "",
- "x": 3453.7976684570312,
- "y": 1186.2432775497437,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 3438.7703247070312,
+ "y": 1216.2432782649994,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "c368ca47.7ac378",
+ "id": "1c40e946.8c8157",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 3255.047748565674,
- "y": 1181.6004934310913,
- "z": "8893d0be.32531",
+ "x": 3240.020404815674,
+ "y": 1211.600494146347,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "f0c9c755.52a178"
+ "789a1cde.2f3584"
]
]
},
{
- "id": "c422bd25.160ed",
+ "id": "793372b8.fc938c",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 3248.797748565674,
- "y": 1214.1004934310913,
- "z": "8893d0be.32531",
+ "x": 3233.770404815674,
+ "y": 1244.100494146347,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "f0c9c755.52a178"
+ "789a1cde.2f3584"
]
]
},
{
- "id": "b60ce6b6.6e55c8",
+ "id": "2f9cf39c.ecdeac",
"type": "get-resource",
"name": "get-resource NETWORK_MODEL",
"xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\n and service_uuid = $service-data.service-information.onap-model-information.model-uuid'\n pfx='network-model'>\n\n",
"comments": "",
"outputs": 1,
- "x": 3000.400505065918,
- "y": 1122.4007968902588,
- "z": "8893d0be.32531",
+ "x": 2985.373161315918,
+ "y": 1152.4007976055145,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "53ee50da.92c",
- "302de1ee.96625e"
+ "de12035b.bf10a",
+ "d50a76bd.bc3228"
]
]
},
{
- "id": "508d66c6.0a5cd8",
+ "id": "67a5ef63.346e1",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No network model found for customization UUID ' \n + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\n ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
"comments": "",
- "x": 3459.8647079467773,
- "y": 1113.4482126235962,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 3444.8373641967773,
+ "y": 1143.448213338852,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "53ee50da.92c",
+ "id": "de12035b.bf10a",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 3261.114719390869,
- "y": 1106.8054189682007,
- "z": "8893d0be.32531",
+ "x": 3246.087375640869,
+ "y": 1136.8054196834564,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "508d66c6.0a5cd8"
+ "67a5ef63.346e1"
]
]
},
{
- "id": "302de1ee.96625e",
+ "id": "d50a76bd.bc3228",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 3256.1146965026855,
- "y": 1138.0554180145264,
- "z": "8893d0be.32531",
+ "x": 3241.0873527526855,
+ "y": 1168.055418729782,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "508d66c6.0a5cd8"
+ "67a5ef63.346e1"
]
]
},
{
- "id": "3336f7e.5de1408",
+ "id": "bc655191.0e724",
"type": "get-resource",
"name": "get-resource SERVICE_MODEL",
"xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'\n pfx='service-model'>",
"comments": "",
"outputs": 1,
- "x": 2999.1504287719727,
- "y": 1047.9654626846313,
- "z": "8893d0be.32531",
+ "x": 2984.1230850219727,
+ "y": 1077.965463399887,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "97b21fe.ac0ede",
- "a706b0a7.379b8"
+ "8e2d24f5.121c68",
+ "7c889074.1b565"
]
]
},
{
- "id": "d796bf5.a742d4",
+ "id": "d18ba133.1177",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
"comments": "",
- "x": 3449.983856201172,
- "y": 1045.465600013733,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 3434.956512451172,
+ "y": 1075.4656007289886,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "97b21fe.ac0ede",
+ "id": "8e2d24f5.121c68",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 3251.2339363098145,
- "y": 1040.8228158950806,
- "z": "8893d0be.32531",
+ "x": 3236.2065925598145,
+ "y": 1070.8228166103363,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "d796bf5.a742d4"
+ "d18ba133.1177"
]
]
},
{
- "id": "a706b0a7.379b8",
+ "id": "7c889074.1b565",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 3244.9839363098145,
- "y": 1073.3228158950806,
- "z": "8893d0be.32531",
+ "x": 3229.9565925598145,
+ "y": 1103.3228166103363,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "d796bf5.a742d4"
+ "d18ba133.1177"
]
]
},
{
- "id": "620a39e0.d0cdb8",
+ "id": "2dfa7f78.06543",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 2729.1702423095703,
- "y": 1046.805416584015,
- "z": "8893d0be.32531",
+ "x": 2714.1428985595703,
+ "y": 1076.8054172992706,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "3336f7e.5de1408",
- "b60ce6b6.6e55c8"
+ "bc655191.0e724",
+ "2f9cf39c.ecdeac"
]
]
},
{
- "id": "8a643c02.96779",
+ "id": "7c0ea99f.5a1678",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 2721.6702423095703,
- "y": 1185.555419921875,
- "z": "8893d0be.32531",
+ "x": 2706.6428985595703,
+ "y": 1215.5554206371307,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4b09caaf.8b4044",
- "96895c09.a6753"
+ "fe208cbc.dc6fa",
+ "e96a8642.305778"
]
]
},
{
- "id": "96152f20.469f",
+ "id": "3c8e6628.d91a7a",
"type": "outcome",
"name": "ActivateDCINetworkInstance",
"xml": "<outcome value='ActivateDCINetworkInstance'>",
"comments": "",
"outputs": 1,
- "x": 1435.6978378295898,
- "y": 444.99999809265137,
- "z": "8893d0be.32531",
+ "x": 1420.6704940795898,
+ "y": 474.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4b2f8e37.5461c"
+ "875e8d68.e9af6"
]
]
},
{
- "id": "b2644153.2a067",
+ "id": "6fed75a2.decf0c",
"type": "outcome",
"name": "DeActivateDCINetworkInstance",
"xml": "<outcome value='DeActivateDCINetworkInstance'>",
"comments": "",
"outputs": 1,
- "x": 1457.0312118530273,
- "y": 607.9999980926514,
- "z": "8893d0be.32531",
+ "x": 1442.0038681030273,
+ "y": 637.9999988079071,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "31bb2eb9.4b2df2"
+ "104b7f33.e975b1"
]
]
},
{
- "id": "6492fa8d.a3f754",
+ "id": "f8366874.128af8",
"type": "switchNode",
"name": "switch onap-model-information.model-invariant-uuid",
"xml": "<switch test='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`'>\n",
"comments": "",
"outputs": 1,
- "x": 2308.0313110351562,
- "y": 744.0000343322754,
- "z": "8893d0be.32531",
+ "x": 2293.0039672851562,
+ "y": 774.0000350475311,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "d0898bc.4da8178"
+ "a9b08bc9.314328"
]
]
},
{
- "id": "d0898bc.4da8178",
+ "id": "a9b08bc9.314328",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2593.0313720703125,
- "y": 743.0000286102295,
- "z": "8893d0be.32531",
+ "x": 2578.0040283203125,
+ "y": 773.0000293254852,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "1ca0e8c8.26dc17"
+ "660b21a9.185aa"
]
]
},
{
- "id": "1ca0e8c8.26dc17",
+ "id": "660b21a9.185aa",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-information.onap-model-information.model-invariant-uuid is a required input\" />\n",
"comments": "",
- "x": 2744.4598388671875,
- "y": 742.0000286102295,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2729.4324951171875,
+ "y": 772.0000293254852,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "158231ee.a3fc1e",
+ "id": "2a04f924.bc59c6",
"type": "comment",
"name": "network-information.onap-model-information block validations",
"info": "",
"comments": "",
- "x": 2327.1741943359375,
- "y": 704.8571147918701,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2312.1468505859375,
+ "y": 734.8571155071259,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "dbf6cbd2.03c8d8",
+ "id": "d7a16e1b.af209",
"type": "switchNode",
"name": "switch network-information.network-id",
"xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n\n",
"comments": "",
"outputs": 1,
- "x": 2263.0311737060547,
- "y": 613.3333549499512,
- "z": "8893d0be.32531",
+ "x": 2248.0038299560547,
+ "y": 643.3333556652069,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "6175843f.314bac",
- "6cf19d4d.69d604"
+ "539f2742.e1fa38",
+ "cf298caa.2064f"
]
]
},
{
- "id": "6175843f.314bac",
+ "id": "539f2742.e1fa38",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 2559.0311241149902,
- "y": 646.0000667572021,
- "z": "8893d0be.32531",
+ "x": 2544.0037803649902,
+ "y": 676.0000674724579,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "c1d6e588.8008f8"
+ "efbdc310.4df6b"
]
]
},
{
- "id": "c1d6e588.8008f8",
+ "id": "efbdc310.4df6b",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 2693.142379760742,
- "y": 646.4444713592529,
- "z": "8893d0be.32531",
+ "x": 2678.115036010742,
+ "y": 676.4444720745087,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "71346c27.04b7d4"
+ "aa96a81e.338e18"
]
]
},
{
- "id": "71346c27.04b7d4",
+ "id": "aa96a81e.338e18",
"type": "switchNode",
"name": "switch service-data.networks.network_length",
"xml": "<switch test='`$service-data.networks.network_length`'>\n",
"comments": "",
"outputs": 1,
- "x": 2966.856491088867,
- "y": 648.0158214569092,
- "z": "8893d0be.32531",
+ "x": 2951.829147338867,
+ "y": 678.0158221721649,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "34df5d30.93d862",
- "b53e3219.4661d"
+ "a6924a9.366acb8",
+ "d67b8110.cf084"
]
]
},
{
- "id": "34df5d30.93d862",
+ "id": "a6924a9.366acb8",
"type": "other",
"name": "outcome Null",
"xml": "<outcome value=''>\n",
"comments": "",
"outputs": 1,
- "x": 3255.856491088867,
- "y": 650.0158824920654,
- "z": "8893d0be.32531",
+ "x": 3240.829147338867,
+ "y": 680.0158832073212,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "dd967162.ba1ae"
+ "38331b12.104364"
]
]
},
{
- "id": "b53e3219.4661d",
+ "id": "d67b8110.cf084",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 3235.856491088867,
- "y": 685.0158824920654,
- "z": "8893d0be.32531",
+ "x": 3220.829147338867,
+ "y": 715.0158832073212,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "ad38a9d8.149638"
+ "27a40eb8.35dc12"
]
]
},
{
- "id": "ad38a9d8.149638",
+ "id": "27a40eb8.35dc12",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 3437.126510620117,
- "y": 686.5704479217529,
- "z": "8893d0be.32531",
+ "x": 3422.099166870117,
+ "y": 716.5704486370087,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "aa0170e3.5679c",
- "2465dbb6.c0a6e4"
+ "c4349cea.5f846",
+ "ceec98b4.2ffb48"
]
]
},
{
- "id": "aa0170e3.5679c",
+ "id": "c4349cea.5f846",
"type": "for",
"name": "for nidx..service-data.networks.network[]",
"xml": "<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
"comments": "",
"outputs": 1,
- "x": 3707.142547607422,
- "y": 685.4444637298584,
- "z": "8893d0be.32531",
+ "x": 3692.115203857422,
+ "y": 715.4444644451141,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "1fbf0f94.4056a"
+ "3a558d2e.ab0422"
]
]
},
{
- "id": "1fbf0f94.4056a",
+ "id": "3a558d2e.ab0422",
"type": "switchNode",
"name": "switch networkid found",
"xml": "<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
"comments": "",
"outputs": 1,
- "x": 3997.5710983276367,
- "y": 684.6945476531982,
- "z": "8893d0be.32531",
+ "x": 3982.5437545776367,
+ "y": 714.694548368454,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "3de6966a.9e173a"
+ "5c767e8.1709a8"
]
]
},
{
- "id": "3de6966a.9e173a",
+ "id": "5c767e8.1709a8",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 4186.523452758789,
- "y": 685.5872859954834,
- "z": "8893d0be.32531",
+ "x": 4171.496109008789,
+ "y": 715.5872867107391,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4f5a1354.1233dc"
+ "24b6b776.af3398"
]
]
},
{
- "id": "4acc4fac.09f96",
+ "id": "399ed923.ac8ab6",
"type": "set",
"name": "set tmp.nidx and ctx.network-data",
"xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\n",
"comments": "",
- "x": 4630.055221557617,
- "y": 694.337308883667,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 4615.027877807617,
+ "y": 724.3373095989227,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "2465dbb6.c0a6e4",
+ "id": "ceec98b4.2ffb48",
"type": "switchNode",
"name": "switch tmp.nidx ",
"xml": "<switch test=\"`$tmp.nidx`\">\n\n",
"comments": "",
"outputs": 1,
- "x": 3625.443977355957,
- "y": 727.4276704788208,
- "z": "8893d0be.32531",
+ "x": 3610.416633605957,
+ "y": 757.4276711940765,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "dea84216.b653a"
+ "96827960.07e628"
]
]
},
{
- "id": "ecca41ce.fcb55",
+ "id": "d3abbc81.d91ab",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
"comments": "",
- "x": 3978.3009605407715,
- "y": 723.1419124603271,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 3963.2736167907715,
+ "y": 753.1419131755829,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "dea84216.b653a",
+ "id": "96827960.07e628",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>\n",
"comments": "",
"outputs": 1,
- "x": 3796.872512817383,
- "y": 725.9990558624268,
- "z": "8893d0be.32531",
+ "x": 3781.845169067383,
+ "y": 755.9990565776825,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "ecca41ce.fcb55"
+ "d3abbc81.d91ab"
]
]
},
{
- "id": "9ff8451b.0ce6b8",
+ "id": "976eb0b3.3ee26",
"type": "switchNode",
"name": "switch order-status",
"xml": "<switch test='`$ctx.network-data.network-data.network-level-oper-status.order-status`'>\n",
"comments": "",
"outputs": 1,
- "x": 4588.475631713867,
- "y": 731.444486618042,
- "z": "8893d0be.32531",
+ "x": 4573.448287963867,
+ "y": 761.4444873332977,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "1c527fbe.e34b3"
+ "894b90cf.4a9a"
]
]
},
{
- "id": "1c527fbe.e34b3",
+ "id": "894b90cf.4a9a",
"type": "other",
"name": "outcome Created",
"xml": "<outcome value='Created'>\n",
"comments": "",
"outputs": 1,
- "x": 4802.475631713867,
- "y": 731.444486618042,
- "z": "8893d0be.32531",
+ "x": 4787.448287963867,
+ "y": 761.4444873332977,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "1ed56338.a1e19d"
+ "6704e2e0.e6d2ac"
]
]
},
{
- "id": "1ed56338.a1e19d",
+ "id": "6704e2e0.e6d2ac",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network aready exists in Created state matching network-id ' + $network-topology-operation-input.network-information.network-id`\" />\n",
"comments": "",
- "x": 5006.475631713867,
- "y": 727.4444713592529,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 4991.448287963867,
+ "y": 757.4444720745087,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "4f5a1354.1233dc",
+ "id": "24b6b776.af3398",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 4335.141891479492,
- "y": 685.4444713592529,
- "z": "8893d0be.32531",
+ "x": 4320.114547729492,
+ "y": 715.4444720745087,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "4acc4fac.09f96"
+ "399ed923.ac8ab6"
]
]
},
{
- "id": "dd967162.ba1ae",
+ "id": "38331b12.104364",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.validate-network-input\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Network id proveded but no network exists that matches\"/>\n<parameter name=\"field5\" value=\"`$network-topology-operation-input.network-information.network-id`\"/>\n\n\n\n",
"comments": "",
"outputs": 1,
- "x": 3417.142379760742,
- "y": 649.4444713592529,
- "z": "8893d0be.32531",
+ "x": 3402.115036010742,
+ "y": 679.4444720745087,
+ "z": "cd5e1606.c0dcc8",
"wires": [
- []
+ [
+
+ ]
]
},
{
- "id": "de4bc965.10a9a8",
+ "id": "56dfe279.93c1fc",
"type": "switchNode",
"name": "switch network-information.network-id",
"xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 2261.0310974121094,
- "y": 566.6666717529297,
- "z": "8893d0be.32531",
+ "x": 2246.0037536621094,
+ "y": 596.6666724681854,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "515a1b60.a2b844"
+ "d731fd6c.5f66a"
]
]
},
{
- "id": "515a1b60.a2b844",
+ "id": "d731fd6c.5f66a",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2489.7454223632812,
- "y": 568.6666717529297,
- "z": "8893d0be.32531",
+ "x": 2474.7180786132812,
+ "y": 598.6666724681854,
+ "z": "cd5e1606.c0dcc8",
"wires": [
[
- "5c3c2c39.9ce264"
+ "f8512ef0.9e14e"
]
]
},
{
- "id": "5c3c2c39.9ce264",
+ "id": "f8512ef0.9e14e",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.network-information.network-id is a required input\" />\n",
"comments": "",
- "x": 2654.174041748047,
- "y": 566.6666717529297,
- "z": "8893d0be.32531",
- "wires": []
+ "x": 2639.146697998047,
+ "y": 596.6666724681854,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+
+ ]
},
{
- "id": "6cf19d4d.69d604",
+ "id": "cf298caa.2064f",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2556.6980209350586,
- "y": 612.9999408721924,
- "z": "8893d0be.32531",
+ "x": 2541.6706771850586,
+ "y": 642.9999415874481,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "875e8d68.e9af6",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1646.9765625,
+ "y": 449.00390696525574,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "104b7f33.e975b1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1698.0039520263672,
+ "y": 627.0312669277191,
+ "z": "cd5e1606.c0dcc8",
"wires": [
- []
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "631913c6.522e9c",
+ "type": "outcome",
+ "name": "ActivateSOTNConnectivityInstance",
+ "xml": "<outcome value='ActivateSOTNConnectivityInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1250.7539672851562,
+ "y": 441.00390434265137,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+ [
+ "eee16eb3.ee727"
+ ]
]
},
{
- "id": "4b2f8e37.5461c",
+ "id": "eee16eb3.ee727",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1662.00390625,
- "y": 419.00390625,
- "z": "8893d0be.32531",
+ "x": 1476.7539367675781,
+ "y": 441.00395011901855,
+ "z": "cd5e1606.c0dcc8",
"wires": [
- []
+ [
+
+ ]
]
},
{
- "id": "31bb2eb9.4b2df2",
+ "id": "1da958a1.745b77",
+ "type": "outcome",
+ "name": "DeactivateSOTNConnectivityInstance",
+ "xml": "<outcome value='DeactivateSOTNConnectivityInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.75390625,
+ "y": 599.00390625,
+ "z": "cd5e1606.c0dcc8",
+ "wires": [
+ [
+ "9eaa2ade.3cbb68"
+ ]
+ ]
+ },
+ {
+ "id": "9eaa2ade.3cbb68",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1713.0312957763672,
- "y": 597.0312662124634,
- "z": "8893d0be.32531",
+ "x": 1533.7538757324219,
+ "y": 599.0039520263672,
+ "z": "cd5e1606.c0dcc8",
"wires": [
- []
+ [
+
+ ]
]
}
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.json
index 7ba8a8fa..e0563866 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.json
@@ -1,1051 +1,1051 @@
[
{
- "id": "f341527b.50b3",
+ "id": "30540b72.a3da84",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 100.03125,
- "y": 50.3333295583725,
- "z": "612a8bcd.555ff4",
+ "x": 119.01040649414062,
+ "y": 58.010414123535156,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "73a43f3f.5366a"
+ "5db42949.04e028"
]
]
},
{
- "id": "73a43f3f.5366a",
+ "id": "5db42949.04e028",
"type": "service-logic",
- "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
- "version": "1.2.1-SNAPSHOT",
+ "version": "${project.version}",
"comments": "",
- "xml": "<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='1.2.1-SNAPSHOT'>",
+ "xml": "<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}'>",
"outputs": 1,
- "x": 345.3169631958008,
- "y": 49.57140862941742,
- "z": "612a8bcd.555ff4",
+ "x": 364.2961196899414,
+ "y": 57.24849319458008,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "51c30458.248f6c"
+ "8510d543.ea49c8"
]
]
},
{
- "id": "51c30458.248f6c",
+ "id": "8510d543.ea49c8",
"type": "method",
"name": "validate-sotn-network-input-parameters",
"xml": "<method rpc='validate-sotn-network-input-parameters' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 302.94793701171875,
- "y": 124.5863469839096,
- "z": "612a8bcd.555ff4",
+ "x": 321.9270935058594,
+ "y": 132.26343154907227,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "2614ca2e.5555e6"
+ "9906fd18.4ac52"
]
]
},
{
- "id": "2614ca2e.5555e6",
+ "id": "9906fd18.4ac52",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 586.9479446411133,
- "y": 112.58637177944183,
- "z": "612a8bcd.555ff4",
+ "x": 605.9271011352539,
+ "y": 120.26345634460449,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "7d98662d.87c938",
- "db93dd27.961fc"
+ "d110bc81.4e37c",
+ "e101af22.28a5c"
]
]
},
{
- "id": "7d98662d.87c938",
+ "id": "d110bc81.4e37c",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 867.9479446411133,
- "y": 107.58635747432709,
- "z": "612a8bcd.555ff4",
+ "x": 886.9271011352539,
+ "y": 115.26344203948975,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "ed1074da.968838"
+ "71be43d8.37b15c"
]
]
},
{
- "id": "ed1074da.968838",
+ "id": "71be43d8.37b15c",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 1058.6622467041016,
- "y": 108.5863584280014,
- "z": "612a8bcd.555ff4",
+ "x": 1077.6414031982422,
+ "y": 116.26344299316406,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "1f50e65c.41f41a"
+ "bc10300e.78772"
]
]
},
{
- "id": "1f50e65c.41f41a",
+ "id": "bc10300e.78772",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
"comments": "",
- "x": 1233.0907974243164,
- "y": 107.58635079860687,
- "z": "612a8bcd.555ff4",
+ "x": 1252.069953918457,
+ "y": 115.26343536376953,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "db93dd27.961fc",
+ "id": "e101af22.28a5c",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 168.94789123535156,
- "y": 383.58637177944183,
- "z": "612a8bcd.555ff4",
+ "x": 187.9270477294922,
+ "y": 391.2634563446045,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "b3bdbe0b.cad91",
- "26d5914b.21d37e",
- "3f8d5428.3f490c",
- "2e6ac3e2.42bc2c",
- "8ba722c1.4dbdb"
+ "3bf943df.6744bc",
+ "10f717b7.132f48",
+ "8c12a16e.cbb18",
+ "47b862af.fda80c",
+ "7a94502c.8a083"
]
]
},
{
- "id": "b3bdbe0b.cad91",
+ "id": "3bf943df.6744bc",
"type": "outcome",
"name": "create",
"xml": "<outcome value='create'>\n",
"comments": "",
"outputs": 1,
- "x": 377.53126525878906,
- "y": 212.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 396.5104217529297,
+ "y": 220.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "898ae9b8.952238"
+ "eda4c0e0.9d0f8"
]
]
},
{
- "id": "898ae9b8.952238",
+ "id": "eda4c0e0.9d0f8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 538.5312652587891,
- "y": 212.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 557.5104217529297,
+ "y": 220.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "29c233ae.14280c"
+ "61aab614.c8bcf8"
]
]
},
{
- "id": "26d5914b.21d37e",
+ "id": "10f717b7.132f48",
"type": "outcome",
"name": "deactivate",
"xml": "<outcome value='deactivate'>\n",
"comments": "",
"outputs": 1,
- "x": 350.52325439453125,
- "y": 821.7618678808212,
- "z": "612a8bcd.555ff4",
+ "x": 369.5024108886719,
+ "y": 829.4389524459839,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "5f3074f8.76c69c"
+ "9eddcf71.5eb8f"
]
]
},
{
- "id": "3f8d5428.3f490c",
+ "id": "8c12a16e.cbb18",
"type": "outcome",
"name": "delete",
"xml": "<outcome value='delete'>\n",
"comments": "",
"outputs": 1,
- "x": 354.2376365661621,
- "y": 992.4764255285263,
- "z": "612a8bcd.555ff4",
+ "x": 373.21679306030273,
+ "y": 1000.153510093689,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "b3fb014d.8c7af"
+ "15081a49.63f566"
]
]
},
{
- "id": "2e6ac3e2.42bc2c",
+ "id": "47b862af.fda80c",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 353.99952697753906,
- "y": 1165.9047111272812,
- "z": "612a8bcd.555ff4",
+ "x": 372.9786834716797,
+ "y": 1173.5817956924438,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "bc54858d.9ca818"
+ "b2e1256a.056728"
]
]
},
{
- "id": "bc54858d.9ca818",
+ "id": "b2e1256a.056728",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
"comments": "",
- "x": 537.5710601806641,
- "y": 1166.5238517522812,
- "z": "612a8bcd.555ff4",
+ "x": 556.5502166748047,
+ "y": 1174.2009363174438,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "29c233ae.14280c",
+ "id": "61aab614.c8bcf8",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 762.0312652587891,
- "y": 212.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 781.0104217529297,
+ "y": 220.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "45f9882d.888fa8",
- "c9fe1e81.e4448"
+ "6d75ab83.475bf4",
+ "7ea03444.87b99c"
]
]
},
{
- "id": "45f9882d.888fa8",
+ "id": "6d75ab83.475bf4",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 937.5312652587891,
- "y": 232.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 956.5104217529297,
+ "y": 240.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "a900b306.d7c45"
+ "b89e04db.633018"
]
]
},
{
- "id": "a900b306.d7c45",
+ "id": "b89e04db.633018",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create\" />\n",
"comments": "",
- "x": 1075.031265258789,
- "y": 232.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1094.0104217529297,
+ "y": 240.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "6b8a3092.36d36",
+ "id": "ffa5b3a1.3441c",
"type": "other",
"name": "DeleteSOTNConnectivityIntance",
"xml": "<outcome value='DeleteSOTNConnectivityIntance'>",
"comments": "",
"outputs": 1,
- "x": 776.0946769714355,
- "y": 993.0316957235336,
- "z": "612a8bcd.555ff4",
+ "x": 795.0738334655762,
+ "y": 1000.7087802886963,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "77908b22.05afb4"
+ "7d07be98.5012f"
]
]
},
{
- "id": "8144887f.4926d8",
+ "id": "29b99a15.11a946",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 711.6502227783203,
- "y": 1065.2539647817612,
- "z": "612a8bcd.555ff4",
+ "x": 730.6293792724609,
+ "y": 1072.9310493469238,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "8b6a3319.1c2db"
+ "db297816.605e88"
]
]
},
{
- "id": "8b6a3319.1c2db",
+ "id": "db297816.605e88",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete\" />\n",
"comments": "",
- "x": 871.983642578125,
- "y": 1067.365102171898,
- "z": "612a8bcd.555ff4",
+ "x": 890.9627990722656,
+ "y": 1075.0421867370605,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "77908b22.05afb4",
+ "id": "7d07be98.5012f",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1019.9835510253906,
- "y": 995.2539476156235,
- "z": "612a8bcd.555ff4",
+ "x": 1038.9627075195312,
+ "y": 1002.9310321807861,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "174db933.229107",
- "c5c30480.3e58d8",
- "57a9e8ca.5b6ba8",
- "5d3a1919.83ff78"
+ "3952213.ae947de",
+ "8110b258.792d5",
+ "7745399b.00a168",
+ "314d388e.78f918"
]
]
},
{
- "id": "8ba722c1.4dbdb",
+ "id": "7a94502c.8a083",
"type": "outcome",
"name": "activate",
"xml": "<outcome value='activate'>\n",
"comments": "",
"outputs": 1,
- "x": 371.4598197937012,
- "y": 476.04764211177826,
- "z": "612a8bcd.555ff4",
+ "x": 390.4389762878418,
+ "y": 483.7247266769409,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "c50ae05a.b3f78"
+ "b94cc46d.828738"
]
]
},
{
- "id": "c50ae05a.b3f78",
+ "id": "b94cc46d.828738",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 554.3169860839844,
- "y": 473.19049203395844,
- "z": "612a8bcd.555ff4",
+ "x": 573.296142578125,
+ "y": 480.8675765991211,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "3a3dfff9.f5159",
- "e69e7919.c1d848"
+ "31b835e5.4dbdaa",
+ "390f9d7d.f4c4a2"
]
]
},
{
- "id": "3a3dfff9.f5159",
+ "id": "31b835e5.4dbdaa",
"type": "other",
"name": "ActivateSOTNConnectivityIntance",
"xml": "<outcome value='ActivateSOTNConnectivityIntance'>",
"comments": "",
"outputs": 1,
- "x": 807.5312652587891,
- "y": 452.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 826.5104217529297,
+ "y": 460.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "c446e4e6.e8ac48"
+ "77468a6f.0fba64"
]
]
},
{
- "id": "e69e7919.c1d848",
+ "id": "390f9d7d.f4c4a2",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 737.5312652587891,
- "y": 492.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 756.5104217529297,
+ "y": 500.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "f911f3da.ef74b"
+ "f71c1a16.68c918"
]
]
},
{
- "id": "f911f3da.ef74b",
+ "id": "f71c1a16.68c918",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate\" />\n",
"comments": "",
- "x": 895.0312652587891,
- "y": 492.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 914.0104217529297,
+ "y": 500.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "c446e4e6.e8ac48",
+ "id": "77468a6f.0fba64",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1038.531265258789,
- "y": 452.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1057.5104217529297,
+ "y": 460.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "57a9e8ca.5b6ba8",
- "174db933.229107",
- "c5c30480.3e58d8",
- "ca8482b0.138b7"
+ "7745399b.00a168",
+ "3952213.ae947de",
+ "8110b258.792d5",
+ "1f6f232b.661ccd"
]
]
},
{
- "id": "d4ecf814.c6a798",
+ "id": "e3c2b14b.36676",
"type": "other",
"name": "DeactivateSOTNConnectivityIntance",
"xml": "<outcome value='DeactivateSOTNConnectivityIntance'>",
"comments": "",
"outputs": 1,
- "x": 793.9518814086914,
- "y": 823.4762614965439,
- "z": "612a8bcd.555ff4",
+ "x": 812.931037902832,
+ "y": 831.1533460617065,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "3dd1f9de.bc71e6"
+ "b5920e80.fae14"
]
]
},
{
- "id": "5b749a1a.8a0654",
+ "id": "c46566d8.dada58",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 708.9518737792969,
- "y": 892.4762691259384,
- "z": "612a8bcd.555ff4",
+ "x": 727.9310302734375,
+ "y": 900.1533536911011,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "47507d7d.fc2bb4"
+ "a6bce96d.58eb58"
]
]
},
{
- "id": "47507d7d.fc2bb4",
+ "id": "a6bce96d.58eb58",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate\" />\n",
"comments": "",
- "x": 889.9518890380859,
- "y": 893.4762691259384,
- "z": "612a8bcd.555ff4",
+ "x": 908.9310455322266,
+ "y": 901.1533536911011,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "5f3074f8.76c69c",
+ "id": "9eddcf71.5eb8f",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 530.8089370727539,
- "y": 823.9520953893661,
- "z": "612a8bcd.555ff4",
+ "x": 549.7880935668945,
+ "y": 831.6291799545288,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "d4ecf814.c6a798",
- "5b749a1a.8a0654"
+ "e3c2b14b.36676",
+ "c46566d8.dada58"
]
]
},
{
- "id": "b3fb014d.8c7af",
+ "id": "15081a49.63f566",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 534.5867385864258,
- "y": 992.2856494188309,
- "z": "612a8bcd.555ff4",
+ "x": 553.5658950805664,
+ "y": 999.9627339839935,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "6b8a3092.36d36",
- "8144887f.4926d8"
+ "ffa5b3a1.3441c",
+ "29b99a15.11a946"
]
]
},
{
- "id": "3dd1f9de.bc71e6",
+ "id": "b5920e80.fae14",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1053.9200286865234,
- "y": 826.2856563329697,
- "z": "612a8bcd.555ff4",
+ "x": 1072.899185180664,
+ "y": 833.9627408981323,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "174db933.229107",
- "c5c30480.3e58d8",
- "57a9e8ca.5b6ba8",
- "dee8bd53.56b7b"
+ "3952213.ae947de",
+ "8110b258.792d5",
+ "7745399b.00a168",
+ "8df757db.a56268"
]
]
},
{
- "id": "c9fe1e81.e4448",
+ "id": "7ea03444.87b99c",
"type": "other",
"name": "CreateSOTNConnectivityIntance",
"xml": "<outcome value='CreateSOTNConnectivityIntance'>",
"comments": "",
"outputs": 1,
- "x": 1003.5312652587891,
- "y": 192.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1022.5104217529297,
+ "y": 200.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "f41339c3.f110b8"
+ "5c394cce.8332b4"
]
]
},
{
- "id": "f41339c3.f110b8",
+ "id": "5c394cce.8332b4",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1218.531265258789,
- "y": 192.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1237.5104217529297,
+ "y": 200.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "78324d1c.b05904"
+ "aacac661.db5fc8"
]
]
},
{
- "id": "78324d1c.b05904",
+ "id": "aacac661.db5fc8",
"type": "for",
"name": "for loop i - Network input parameters",
"xml": "<for index=\"i\" start=\"0\" end=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`\">\n",
"comments": "",
"outputs": 1,
- "x": 1469.031265258789,
- "y": 192.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1488.0104217529297,
+ "y": 200.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "6af6c64a.163a28"
+ "f1c9f306.088fe"
]
]
},
{
- "id": "6af6c64a.163a28",
+ "id": "f1c9f306.088fe",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1697.531265258789,
- "y": 192.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1716.5104217529297,
+ "y": 200.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "9cb7bf55.5070b",
- "46cd63b4.17fedc",
- "8ab4804d.8981"
+ "1c0f238b.8a133c",
+ "22c01d86.bf0c72",
+ "5fb7d8b1.555d08"
]
]
},
{
- "id": "9cb7bf55.5070b",
+ "id": "1c0f238b.8a133c",
"type": "set",
"name": "clear tmp-data",
"xml": "<set>\n<parameter name='tmp.name' value='' />\n<parameter name='tmp.value' value='' />\n",
"comments": "",
- "x": 1880.531265258789,
- "y": 152.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1899.5104217529297,
+ "y": 160.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "46cd63b4.17fedc",
+ "id": "22c01d86.bf0c72",
"type": "set",
"name": "set tmp-data",
"xml": "<set>\n<parameter name='tmp.name' value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`\"/>\n<parameter name='tmp.value' value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`\"/>\n",
"comments": "",
- "x": 1875.031265258789,
- "y": 192.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1894.0104217529297,
+ "y": 200.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "8ab4804d.8981",
+ "id": "5fb7d8b1.555d08",
"type": "switchNode",
"name": "switch name",
"xml": "<switch test=\"`$tmp.name`\">\n",
"comments": "",
"outputs": 1,
- "x": 1875.031265258789,
- "y": 232.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1894.0104217529297,
+ "y": 240.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "9592d9e2.7991f8",
- "97143bfc.87f758",
- "d423ac2f.9c51f"
+ "3a78badb.a37d36",
+ "6d81ed6a.535234",
+ "d7b4d45a.818368"
]
]
},
{
- "id": "7c1a345e.318e8c",
+ "id": "a8cb3e9.94103c",
"type": "switchNode",
"name": "switch value",
"xml": "<switch test=\"`$tmp.value`\">\n",
"comments": "",
"outputs": 1,
- "x": 2335.0314331054688,
- "y": 185.00002002716064,
- "z": "612a8bcd.555ff4",
+ "x": 2354.0105895996094,
+ "y": 192.6771045923233,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "71892760.797d58"
+ "f59640c.a9369c"
]
]
},
{
- "id": "d423ac2f.9c51f",
+ "id": "d7b4d45a.818368",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2094.5316009521484,
- "y": 251.00000762939453,
- "z": "612a8bcd.555ff4",
+ "x": 2113.510757446289,
+ "y": 258.6770921945572,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "f8a3cfb8.ff88b"
+ "83193a9c.5212a8"
]
]
},
{
- "id": "f8a3cfb8.ff88b",
+ "id": "83193a9c.5212a8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`\" />\n",
"comments": "",
- "x": 2269.5316047668457,
- "y": 250.00000762939453,
- "z": "612a8bcd.555ff4",
+ "x": 2288.5107612609863,
+ "y": 257.6770921945572,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "9592d9e2.7991f8",
+ "id": "3a78badb.a37d36",
"type": "other",
"name": "name",
"xml": "<outcome value='name'>",
"comments": "",
"outputs": 1,
- "x": 2094.5316009521484,
- "y": 135.00000190734863,
- "z": "612a8bcd.555ff4",
+ "x": 2113.510757446289,
+ "y": 142.6770864725113,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "7c1a345e.318e8c"
+ "a8cb3e9.94103c"
]
]
},
{
- "id": "97143bfc.87f758",
+ "id": "6d81ed6a.535234",
"type": "other",
"name": "description",
"xml": "<outcome value='description'>",
"comments": "",
"outputs": 1,
- "x": 2106.5313568115234,
- "y": 188.66666412353516,
- "z": "612a8bcd.555ff4",
+ "x": 2125.510513305664,
+ "y": 196.34374868869781,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "7c1a345e.318e8c"
+ "a8cb3e9.94103c"
]
]
},
{
- "id": "71892760.797d58",
+ "id": "f59640c.a9369c",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2478.5314331054688,
- "y": 185.00002002716064,
- "z": "612a8bcd.555ff4",
+ "x": 2497.5105895996094,
+ "y": 192.6771045923233,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "51159df7.8f7f34"
+ "d1c13d61.21b1c"
]
]
},
{
- "id": "51159df7.8f7f34",
+ "id": "d1c13d61.21b1c",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`\" />\n",
"comments": "",
- "x": 2636.5314331054688,
- "y": 185.00002002716064,
- "z": "612a8bcd.555ff4",
+ "x": 2655.5105895996094,
+ "y": 192.6771045923233,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "57a9e8ca.5b6ba8",
+ "id": "7745399b.00a168",
"type": "switchNode",
"name": "switch service-data.networks.network_length",
"xml": "<switch test='`$service-data.networks.network_length`'>\n",
"comments": "",
"outputs": 1,
- "x": 1343.4201278686523,
- "y": 496.3333123922348,
- "z": "612a8bcd.555ff4",
+ "x": 1362.399284362793,
+ "y": 504.01039695739746,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "c975a187.53f03",
- "c343c1d6.32b89"
+ "c70694c.d9fd968",
+ "f88531e6.ae397"
]
]
},
{
- "id": "c975a187.53f03",
+ "id": "c70694c.d9fd968",
"type": "other",
"name": "outcome Null",
"xml": "<outcome value=''>\n",
"comments": "",
"outputs": 1,
- "x": 1597.031265258789,
- "y": 472.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1616.0104217529297,
+ "y": 480.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "7bf63be7.236304"
+ "58bafa7d.dc8534"
]
]
},
{
- "id": "7bf63be7.236304",
+ "id": "58bafa7d.dc8534",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
"comments": "",
- "x": 1775.031265258789,
- "y": 472.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1794.0104217529297,
+ "y": 480.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "c343c1d6.32b89",
+ "id": "f88531e6.ae397",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1577.531265258789,
- "y": 512.9999994039536,
- "z": "612a8bcd.555ff4",
+ "x": 1596.5104217529297,
+ "y": 520.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "8b3c7b72.8416d8"
+ "adf12a25.f70768"
]
]
},
{
- "id": "8b3c7b72.8416d8",
+ "id": "adf12a25.f70768",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1738.531265258789,
- "y": 512.9999994039536,
- "z": "612a8bcd.555ff4",
+ "x": 1757.5104217529297,
+ "y": 520.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "ea8be443.435208",
- "f4cb0140.f19dc"
+ "81a71d76.fca27",
+ "81dbd082.fe84e"
]
]
},
{
- "id": "ea8be443.435208",
+ "id": "81a71d76.fca27",
"type": "for",
"name": "for nidx..service-data.networks.network[]",
"xml": "<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
"comments": "",
"outputs": 1,
- "x": 2001.031265258789,
- "y": 492.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 2020.0104217529297,
+ "y": 500.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "1c69986e.121d38"
+ "bfc00421.e16008"
]
]
},
{
- "id": "1c69986e.121d38",
+ "id": "bfc00421.e16008",
"type": "switchNode",
"name": "switch networkid found",
"xml": "<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
"comments": "",
"outputs": 1,
- "x": 2287.031265258789,
- "y": 492.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 2306.0104217529297,
+ "y": 500.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "835d02de.19c93"
+ "c0cf0cfd.ee88d"
]
]
},
{
- "id": "835d02de.19c93",
+ "id": "c0cf0cfd.ee88d",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 2457.531265258789,
- "y": 492.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 2476.5104217529297,
+ "y": 500.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "a4620b88.fbb918"
+ "be39b005.2a634"
]
]
},
{
- "id": "a4620b88.fbb918",
+ "id": "4180e683.809aa8",
"type": "set",
"name": "set tmp.nidx and ctx.network-data",
"xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\n",
"comments": "",
- "x": 2680.531265258789,
- "y": 492.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 2866.510482788086,
+ "y": 443.67710971832275,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "2c706feb.2be3b",
+ "id": "8f21dfe1.e194f",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
"comments": "",
- "x": 2215.031265258789,
- "y": 532.9999994039536,
- "z": "612a8bcd.555ff4",
+ "x": 2234.0104217529297,
+ "y": 540.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "c1c7826b.646b7",
+ "id": "d566fcec.dd82e",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>\n",
"comments": "",
"outputs": 1,
- "x": 2077.531265258789,
- "y": 532.9999994039536,
- "z": "612a8bcd.555ff4",
+ "x": 2096.5104217529297,
+ "y": 540.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "2c706feb.2be3b"
+ "8f21dfe1.e194f"
]
]
},
{
- "id": "f4cb0140.f19dc",
+ "id": "81dbd082.fe84e",
"type": "switchNode",
"name": "switch tmp.nidx ",
"xml": "<switch test=\"`$tmp.nidx`\">\n\n",
"comments": "",
"outputs": 1,
- "x": 1923.531265258789,
- "y": 532.9999994039536,
- "z": "612a8bcd.555ff4",
+ "x": 1942.5104217529297,
+ "y": 540.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "c1c7826b.646b7"
+ "d566fcec.dd82e"
]
]
},
{
- "id": "ca8482b0.138b7",
+ "id": "1f6f232b.661ccd",
"type": "switchNode",
"name": "switch network-level-oper-status",
"xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
"comments": "",
"outputs": 1,
- "x": 1302.6979522705078,
- "y": 571.8888772726059,
- "z": "612a8bcd.555ff4",
+ "x": 1321.6771087646484,
+ "y": 579.5659618377686,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "ac1c944.a70cf68",
- "64f9182f.832d98"
+ "2ea404ed.2890bc",
+ "3fc8a371.2d444c"
]
]
},
{
- "id": "ac1c944.a70cf68",
+ "id": "2ea404ed.2890bc",
"type": "outcome",
"name": "outcome Created",
"xml": "<outcome value='Created'>\n",
"comments": "",
"outputs": 1,
- "x": 1599.5313682556152,
- "y": 571.8888753652573,
- "z": "612a8bcd.555ff4",
+ "x": 1618.5105247497559,
+ "y": 579.5659599304199,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "dd869d4d.7e624"
+ "4920efaf.e8518"
]
]
},
{
- "id": "64f9182f.832d98",
+ "id": "3fc8a371.2d444c",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1567.5313682556152,
- "y": 611.8888753652573,
- "z": "612a8bcd.555ff4",
+ "x": 1586.5105247497559,
+ "y": 619.5659599304199,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "52f7cab.128ad34"
+ "e8e9554e.9ed228"
]
]
},
{
- "id": "52f7cab.128ad34",
+ "id": "e8e9554e.9ed228",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
"comments": "",
- "x": 1725.0313682556152,
- "y": 611.8888753652573,
- "z": "612a8bcd.555ff4",
+ "x": 1744.0105247497559,
+ "y": 619.5659599304199,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "c5c30480.3e58d8",
+ "id": "8110b258.792d5",
"type": "switchNode",
"name": "switch network-id",
"xml": "<switch test=\"`$network-topology-operation-input.network-information.network-id`\">\n",
"comments": "",
"outputs": 1,
- "x": 1249.531265258789,
- "y": 432.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1268.5104217529297,
+ "y": 440.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "edcc0678.bb4db8"
+ "2154102d.3723d"
]
]
},
{
- "id": "edcc0678.bb4db8",
+ "id": "2154102d.3723d",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 1477.531265258789,
- "y": 432.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1496.5104217529297,
+ "y": 440.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "df1eaa9a.c904b8"
+ "6116891a.4a7628"
]
]
},
{
- "id": "df1eaa9a.c904b8",
+ "id": "6116891a.4a7628",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-request-input.network-input-parameters.name is a required input\" />\n",
"comments": "",
- "x": 1615.031265258789,
- "y": 432.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1634.0104217529297,
+ "y": 440.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "174db933.229107",
+ "id": "3952213.ae947de",
"type": "execute",
"name": "execute requiredParameters",
"xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\n<parameter name=\"network-topology-operation-input.network-information.network-id\" value=\"$network-topology-operation-input.network-information.network-id\"/>\n\n",
"comments": "",
"outputs": 1,
- "x": 1284.031265258789,
- "y": 392.99999940395355,
- "z": "612a8bcd.555ff4",
+ "x": 1303.0104217529297,
+ "y": 400.6770839691162,
+ "z": "85ea7447.de94b8",
"wires": [
[
@@ -1053,139 +1053,139 @@
]
},
{
- "id": "dee8bd53.56b7b",
+ "id": "8df757db.a56268",
"type": "switchNode",
"name": "switch network-level-oper-status",
"xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
"comments": "",
"outputs": 1,
- "x": 1330.864517211914,
- "y": 821.8888543844223,
- "z": "612a8bcd.555ff4",
+ "x": 1349.8436737060547,
+ "y": 829.565938949585,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "5a840e5a.dfcfb",
- "1e04803d.2175e"
+ "20aef547.50072a",
+ "df0219da.c64748"
]
]
},
{
- "id": "5a840e5a.dfcfb",
+ "id": "20aef547.50072a",
"type": "outcome",
"name": "outcome Active",
"xml": "<outcome value='Active'>\n",
"comments": "",
"outputs": 1,
- "x": 1604.1978912353516,
- "y": 796.3333123922348,
- "z": "612a8bcd.555ff4",
+ "x": 1623.1770477294922,
+ "y": 804.0103969573975,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "1bb2b0bd.7522ff"
+ "7cd2b1ba.76f03"
]
]
},
{
- "id": "1e04803d.2175e",
+ "id": "df0219da.c64748",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1574.1978912353516,
- "y": 836.3333123922348,
- "z": "612a8bcd.555ff4",
+ "x": 1593.1770477294922,
+ "y": 844.0103969573975,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "f180da96.e20aa8"
+ "cde4a066.01eff"
]
]
},
{
- "id": "f180da96.e20aa8",
+ "id": "cde4a066.01eff",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
"comments": "",
- "x": 1740.1978912353516,
- "y": 838.3333123922348,
- "z": "612a8bcd.555ff4",
+ "x": 1759.1770477294922,
+ "y": 846.0103969573975,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "5d3a1919.83ff78",
+ "id": "314d388e.78f918",
"type": "switchNode",
"name": "switch network-level-oper-status",
"xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
"comments": "",
"outputs": 1,
- "x": 1319.753433227539,
- "y": 992.9999383687973,
- "z": "612a8bcd.555ff4",
+ "x": 1338.7325897216797,
+ "y": 1000.67702293396,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "c0abb2c6.46f4e",
- "d275091d.1d6858"
+ "7c9245c6.2a554c",
+ "6b9c73ba.23740c"
]
]
},
{
- "id": "c0abb2c6.46f4e",
+ "id": "7c9245c6.2a554c",
"type": "outcome",
"name": "outcome PendingDelete",
"xml": "<outcome value='PendingDelete'>\n",
"comments": "",
"outputs": 1,
- "x": 1619.7534942626953,
- "y": 960.7777341604233,
- "z": "612a8bcd.555ff4",
+ "x": 1638.732650756836,
+ "y": 968.4548187255859,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "77485a8b.427a64"
+ "342b3c07.812f54"
]
]
},
{
- "id": "d275091d.1d6858",
+ "id": "6b9c73ba.23740c",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1563.0868072509766,
- "y": 1007.4443963766098,
- "z": "612a8bcd.555ff4",
+ "x": 1582.0659637451172,
+ "y": 1015.1214809417725,
+ "z": "85ea7447.de94b8",
"wires": [
[
- "1df75e1e.6ce5d2"
+ "ed451401.504a48"
]
]
},
{
- "id": "1df75e1e.6ce5d2",
+ "id": "ed451401.504a48",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Network is not in appropriate state for delete. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
"comments": "",
- "x": 1729.0868072509766,
- "y": 1009.4443963766098,
- "z": "612a8bcd.555ff4",
+ "x": 1748.0659637451172,
+ "y": 1017.1214809417725,
+ "z": "85ea7447.de94b8",
"wires": [
]
},
{
- "id": "dd869d4d.7e624",
+ "id": "4920efaf.e8518",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1787.5312461853027,
- "y": 572.9999593496323,
- "z": "612a8bcd.555ff4",
+ "x": 1806.5104026794434,
+ "y": 580.6770439147949,
+ "z": "85ea7447.de94b8",
"wires": [
[
@@ -1193,15 +1193,15 @@
]
},
{
- "id": "1bb2b0bd.7522ff",
+ "id": "7cd2b1ba.76f03",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1804.197769165039,
- "y": 794.4814447164536,
- "z": "612a8bcd.555ff4",
+ "x": 1823.1769256591797,
+ "y": 802.1585292816162,
+ "z": "85ea7447.de94b8",
"wires": [
[
@@ -1209,19 +1209,49 @@
]
},
{
- "id": "77485a8b.427a64",
+ "id": "342b3c07.812f54",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1835.3089752197266,
- "y": 961.148070693016,
- "z": "612a8bcd.555ff4",
+ "x": 1854.2881317138672,
+ "y": 968.8251552581787,
+ "z": "85ea7447.de94b8",
"wires": [
[
]
]
+ },
+ {
+ "id": "f267869b.ce6d48",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2768.676830291748,
+ "y": 545.0103549957275,
+ "z": "85ea7447.de94b8",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "be39b005.2a634",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2626.676933288574,
+ "y": 497.01043224334717,
+ "z": "85ea7447.de94b8",
+ "wires": [
+ [
+ "4180e683.809aa8",
+ "f267869b.ce6d48"
+ ]
+ ]
}
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json
index 548017d5..3ebab100 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json
@@ -1,487 +1,461 @@
[
- {
- "id": "b38b0b37.4fbba8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 156.66665649414062,
- "y": 414.16667597634455,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "52d79f98.236c9",
- "db0b2c04.23c78",
- "2090c272.2f2dae",
- "f3ec5636.aa7578",
- "de04dcb6.e0093",
- "286a5aeb.cd2826"
- ]
- ]
- },
- {
- "id": "52d79f98.236c9",
- "type": "switchNode",
- "name": "switch svc-request-id",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 439.4285659790039,
- "y": 297.24701404571533,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "f9ab1dd1.ac849"
- ]
- ]
- },
- {
- "id": "f9ab1dd1.ac849",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 665.1428604125977,
- "y": 297.2470178604126,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "a08153b.30607b"
- ]
- ]
- },
- {
- "id": "a08153b.30607b",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
- "comments": "",
- "x": 816.5714263916016,
- "y": 297.24701595306396,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "db0b2c04.23c78",
- "type": "switchNode",
- "name": "switch svc-action",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 427.99992915562234,
- "y": 255.81844561440607,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "eeea9033.66cb9"
- ]
- ]
- },
- {
- "id": "eeea9033.66cb9",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 663.7142808096751,
- "y": 254.38984339577814,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "d8278276.52076"
- ]
- ]
- },
- {
- "id": "d8278276.52076",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
- "comments": "",
- "x": 813.7142541067942,
- "y": 254.3898529325213,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "2090c272.2f2dae",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 437.99998256138406,
- "y": 340.1041607175555,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "3462c626.b9b84a"
- ]
- ]
- },
- {
- "id": "3462c626.b9b84a",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 665.1428560529439,
- "y": 340.10417161669056,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "b3d88cc6.52ff2"
- ]
- ]
- },
- {
- "id": "b3d88cc6.52ff2",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n",
- "comments": "",
- "x": 816.5714220319478,
- "y": 340.10416970934193,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "e6d8c21d.71c1c",
- "type": "switchNode",
- "name": "switch model-customization-id",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 972.4645347595215,
- "y": 486.53292655944824,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "de43bd69.67fda"
- ]
- ]
- },
- {
- "id": "de43bd69.67fda",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1177.4645347595215,
- "y": 486.53290939331055,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "4575d060.3b037"
- ]
- ]
- },
- {
- "id": "4575d060.3b037",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.onap-model-information.model-customization-uuid is a required input\" />\n",
- "comments": "",
- "x": 1328.8931007385254,
- "y": 486.5329074859619,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "689a33f6.b4cc9c",
- "type": "switchNode",
- "name": "switch tenant",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 918.3216133117676,
- "y": 527.9614372253418,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "238e5ffc.d0317"
- ]
- ]
- },
- {
- "id": "238e5ffc.d0317",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1176.035930633545,
- "y": 527.9614715576172,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "bcaf5c05.49c86"
- ]
- ]
- },
- {
- "id": "bcaf5c05.49c86",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.vnf-request-input.tenant is a required input\" />\n",
- "comments": "",
- "x": 1327.4644966125488,
- "y": 527.9614696502686,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "c2b4e8d1.4fcae8",
- "type": "comment",
- "name": "Validation of required fields",
- "info": "",
- "comments": "",
- "x": 587.9999389648438,
- "y": 211.53272819519043,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "f3ec5636.aa7578",
- "type": "switchNode",
- "name": "switch svc-action",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 423.238037109375,
- "y": 528.7947521209717,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "2acfd81d.e2f408"
- ]
- ]
- },
- {
- "id": "2acfd81d.e2f408",
- "type": "outcome",
- "name": "assign",
- "xml": "<outcome value='assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 585.738037109375,
- "y": 528.7947521209717,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "5a45a048.95a1d"
- ]
- ]
- },
- {
- "id": "5a45a048.95a1d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 740.738037109375,
- "y": 528.7947521209717,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "e6d8c21d.71c1c",
- "689a33f6.b4cc9c",
- "217fcc81.9f4ba4"
- ]
- ]
- },
- {
- "id": "a37f14a8.387e78",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 100.41666630336204,
- "y": 84.0803279876709,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "b399deb4.255d6"
- ]
- ]
- },
- {
- "id": "b399deb4.255d6",
- "type": "service-logic",
- "name": "GENERIC-RESOURCE-API ${project.version}",
- "module": "GENERIC-RESOURCE-API",
- "version": "${project.version}",
- "comments": "",
- "xml": "<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}'>",
- "outputs": 1,
- "x": 175.70237186976829,
- "y": 124.31843948364258,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "869696da.e07a18"
- ]
- ]
- },
- {
- "id": "869696da.e07a18",
- "type": "method",
- "name": "method validate-vnf-input",
- "xml": "<method rpc='validate-vnf-input' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 151.0952933175222,
- "y": 165.33032417297363,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "b38b0b37.4fbba8"
- ]
- ]
- },
- {
- "id": "9789ee81.07f95",
- "type": "comment",
- "name": "validate-vnf-input",
- "info": "",
- "comments": "",
- "x": 494.76152256556907,
- "y": 31.666671752929688,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "de04dcb6.e0093",
- "type": "switchNode",
- "name": "switch service-instance-id",
- "xml": "<switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 451.0238135201589,
- "y": 384.16668701171875,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "54e9ea0e.6ae744"
- ]
- ]
- },
- {
- "id": "54e9ea0e.6ae744",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 663.4523947579519,
- "y": 384.1666831970215,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "d1e3ee4b.ceb14"
- ]
- ]
- },
- {
- "id": "d1e3ee4b.ceb14",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
- "comments": "",
- "x": 814.8809607369558,
- "y": 384.16668128967285,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "286a5aeb.cd2826",
- "type": "switchNode",
- "name": "switch vnf-id",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 408.5238227844238,
- "y": 427.6666774749756,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "bb28e2bc.36c43"
- ]
- ]
- },
- {
- "id": "bb28e2bc.36c43",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 663.8095321655273,
- "y": 426.23810958862305,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "9c9ba7cb.f1d4b8"
- ]
- ]
- },
- {
- "id": "9c9ba7cb.f1d4b8",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.vnf-id is a required input\" />\n",
- "comments": "",
- "x": 815.2380981445312,
- "y": 426.2381076812744,
- "z": "19ac43dc.b5de6c",
- "wires": []
- },
- {
- "id": "217fcc81.9f4ba4",
- "type": "switchNode",
- "name": "switch aic-cloud-region",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 947.6666946411133,
- "y": 570.238094329834,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "30f287b7.9d1118"
- ]
- ]
- },
- {
- "id": "30f287b7.9d1118",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1174.3810119628906,
- "y": 570.2381286621094,
- "z": "19ac43dc.b5de6c",
- "wires": [
- [
- "44a324d9.932adc"
- ]
- ]
- },
- {
- "id": "44a324d9.932adc",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-request-input.aic-cloud-region is a required input\" />\n",
- "comments": "",
- "x": 1325.8095779418945,
- "y": 570.2381267547607,
- "z": "19ac43dc.b5de6c",
- "wires": []
- }
+ {
+ "id": "c428e8d.27cce18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 189,
+ "y": 416.50000422341486,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "3ab2d225.c8f26e",
+ "f97f4e94.92985",
+ "99754530.a920a8",
+ "77ab2ae3.a31c54",
+ "c2bc3d2d.6fb7d"
+ ]
+ ]
+ },
+ {
+ "id": "3ab2d225.c8f26e",
+ "type": "switchNode",
+ "name": "switch svc-request-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 471.7619094848633,
+ "y": 299.58034229278564,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "a9a2f3f.7cb551"
+ ]
+ ]
+ },
+ {
+ "id": "a9a2f3f.7cb551",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 697.476203918457,
+ "y": 299.5803461074829,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "cb1db5f9.619c48"
+ ]
+ ]
+ },
+ {
+ "id": "cb1db5f9.619c48",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
+ "comments": "",
+ "x": 848.9047698974609,
+ "y": 299.5803442001343,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "f97f4e94.92985",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 460.3332726614817,
+ "y": 258.1517738614764,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "4bce0fc2.589ce"
+ ]
+ ]
+ },
+ {
+ "id": "4bce0fc2.589ce",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 696.0476243155344,
+ "y": 256.72317164284846,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "8b6ba872.3b8a98"
+ ]
+ ]
+ },
+ {
+ "id": "8b6ba872.3b8a98",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
+ "comments": "",
+ "x": 846.0475976126536,
+ "y": 256.7231811795916,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "99754530.a920a8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 470.33332606724343,
+ "y": 342.4374889646258,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "1356b9d1.f1abc6"
+ ]
+ ]
+ },
+ {
+ "id": "1356b9d1.f1abc6",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 697.4761995588033,
+ "y": 342.4374998637609,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "9bdd0c3e.f5034"
+ ]
+ ]
+ },
+ {
+ "id": "9bdd0c3e.f5034",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n",
+ "comments": "",
+ "x": 848.9047655378072,
+ "y": 342.43749795641224,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "77407e17.13aa",
+ "type": "switchNode",
+ "name": "switch model-customization-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1004.7978782653809,
+ "y": 488.86625480651855,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "c78e5862.3ed2f8"
+ ]
+ ]
+ },
+ {
+ "id": "c78e5862.3ed2f8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1209.7978782653809,
+ "y": 488.86623764038086,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "a0bae35d.bd0f3"
+ ]
+ ]
+ },
+ {
+ "id": "a0bae35d.bd0f3",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.onap-model-information.model-customization-uuid is a required input\" />\n",
+ "comments": "",
+ "x": 1361.2264442443848,
+ "y": 488.8662357330322,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "9b39e778.02f938",
+ "type": "switchNode",
+ "name": "switch tenant",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 950.654956817627,
+ "y": 530.2947654724121,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "204bc24c.52717e"
+ ]
+ ]
+ },
+ {
+ "id": "204bc24c.52717e",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1208.3692741394043,
+ "y": 530.2947998046875,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "cd515ce9.de34"
+ ]
+ ]
+ },
+ {
+ "id": "cd515ce9.de34",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.vnf-request-input.tenant is a required input\" />\n",
+ "comments": "",
+ "x": 1359.7978401184082,
+ "y": 530.2947978973389,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "38ecaf2a.7759a",
+ "type": "comment",
+ "name": "Validation of required fields",
+ "info": "",
+ "comments": "",
+ "x": 620.3332824707031,
+ "y": 213.86605644226074,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "77ab2ae3.a31c54",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 455.5713806152344,
+ "y": 531.128080368042,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "8e972969.bb2dd8"
+ ]
+ ]
+ },
+ {
+ "id": "8e972969.bb2dd8",
+ "type": "outcome",
+ "name": "assign",
+ "xml": "<outcome value='assign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 618.0713806152344,
+ "y": 531.128080368042,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "f91647c8.1d72f8"
+ ]
+ ]
+ },
+ {
+ "id": "f91647c8.1d72f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 773.0713806152344,
+ "y": 531.128080368042,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "77407e17.13aa",
+ "9b39e778.02f938",
+ "4108c244.bc563c"
+ ]
+ ]
+ },
+ {
+ "id": "bfe21f2e.7dff3",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 132.7500098092214,
+ "y": 86.41365623474121,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "d64c66df.cad6c8"
+ ]
+ ]
+ },
+ {
+ "id": "d64c66df.cad6c8",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 208.03571537562766,
+ "y": 126.65176773071289,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "2e84fc71.260244"
+ ]
+ ]
+ },
+ {
+ "id": "2e84fc71.260244",
+ "type": "method",
+ "name": "method validate-vnf-input",
+ "xml": "<method rpc='validate-vnf-input' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 183.42863682338157,
+ "y": 167.66365242004395,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "c428e8d.27cce18"
+ ]
+ ]
+ },
+ {
+ "id": "580b25f3.b0273c",
+ "type": "comment",
+ "name": "validate-vnf-input",
+ "info": "",
+ "comments": "",
+ "x": 527.0948660714284,
+ "y": 34,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "c2bc3d2d.6fb7d",
+ "type": "switchNode",
+ "name": "switch service-instance-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 483.3571570260183,
+ "y": 386.50001525878906,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "4f2dc133.3331a"
+ ]
+ ]
+ },
+ {
+ "id": "4f2dc133.3331a",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 695.7857382638113,
+ "y": 386.5000114440918,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "46f09548.364bec"
+ ]
+ ]
+ },
+ {
+ "id": "46f09548.364bec",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
+ "comments": "",
+ "x": 847.2143042428152,
+ "y": 386.50000953674316,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "4108c244.bc563c",
+ "type": "switchNode",
+ "name": "switch aic-cloud-region",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 980.0000381469727,
+ "y": 572.5714225769043,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "c4c6b560.de5ab8"
+ ]
+ ]
+ },
+ {
+ "id": "c4c6b560.de5ab8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1206.71435546875,
+ "y": 572.5714569091797,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+ [
+ "c4c87ecd.ccad2"
+ ]
+ ]
+ },
+ {
+ "id": "c4c87ecd.ccad2",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-request-input.aic-cloud-region is a required input\" />\n",
+ "comments": "",
+ "x": 1358.142921447754,
+ "y": 572.571455001831,
+ "z": "a20f7f20.3dd04",
+ "wires": [
+
+ ]
+ }
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
index bfb38e5c..dcdfbec8 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
@@ -1,271 +1,679 @@
[
- {
- "id": "7fb1a187.9549f",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 96.66666412353516,
- "y": 86.66666412353516,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "c2b8a7b8.a5e428"
- ]
- ]
- },
- {
- "id": "c2b8a7b8.a5e428",
- "type": "service-logic",
- "name": "GENERIC-RESOURCE-API ${project.version}",
- "module": "GENERIC-RESOURCE-API",
- "version": "${project.version}",
- "comments": "",
- "xml": "<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}'>",
- "outputs": 1,
- "x": 171.9523696899414,
- "y": 126.90477561950684,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "89a5ce6c.8a947"
- ]
- ]
- },
- {
- "id": "89a5ce6c.8a947",
- "type": "method",
- "name": "method vnf-topology-operation",
- "xml": "<method rpc='vnf-topology-operation' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 165.0952911376953,
- "y": 166.66665840148926,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "baea3ff6.bd225"
- ]
- ]
- },
- {
- "id": "435f3efd.64ab3",
- "type": "comment",
- "name": "vnf-topology-operation",
- "info": "",
- "comments": "",
- "x": 491.0115203857422,
- "y": 34.253007888793945,
- "z": "dcb795e3.12ddb8",
- "wires": []
- },
- {
- "id": "baea3ff6.bd225",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 177.8333740234375,
- "y": 334.36017417907715,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "f2687cfc.01d4c",
- "b4265d07.b24f2",
- "b14b13c7.baa14"
- ]
- ]
- },
- {
- "id": "f2687cfc.01d4c",
- "type": "returnSuccess",
- "name": "return success",
- "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
- "comments": "",
- "x": 470.3333282470703,
- "y": 484.52420711517334,
- "z": "dcb795e3.12ddb8",
- "wires": []
- },
- {
- "id": "b4265d07.b24f2",
- "type": "switchNode",
- "name": "switch svc-action",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 473.23804473876953,
- "y": 332.5714178085327,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "76164f7d.903b1",
- "117347a9.8b7218",
- "e07500fb.cff53",
- "9b91fc07.60be4",
- "bc77aaba.4aabe8"
- ]
- ]
- },
- {
- "id": "76164f7d.903b1",
- "type": "outcome",
- "name": "assign",
- "xml": "<outcome value='assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 672.0475540161133,
- "y": 265.1905632019043,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "5ec13553.7c0efc"
- ]
- ]
- },
- {
- "id": "117347a9.8b7218",
- "type": "outcome",
- "name": "unassign",
- "xml": "<outcome value='unassign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 676.0951766967773,
- "y": 395.38128662109375,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "9d96816e.64ca5"
- ]
- ]
- },
- {
- "id": "9b91fc07.60be4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 670.8094024658203,
- "y": 439.57136249542236,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "2717cc4c.7bccc4"
- ]
- ]
- },
- {
- "id": "2717cc4c.7bccc4",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
- "comments": "",
- "x": 856.9998474121094,
- "y": 439.5714273452759,
- "z": "dcb795e3.12ddb8",
- "wires": []
- },
- {
- "id": "b14b13c7.baa14",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:validate-vnf-input",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 579.0832977294922,
- "y": 224.04770278930664,
- "z": "dcb795e3.12ddb8",
- "wires": [
- []
- ]
- },
- {
- "id": "5ec13553.7c0efc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1014.1904067993164,
- "y": 264.76202392578125,
- "z": "dcb795e3.12ddb8",
- "wires": [
- []
- ]
- },
- {
- "id": "3e660d10.204032",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1025.5236740112305,
- "y": 349.0953722000122,
- "z": "dcb795e3.12ddb8",
- "wires": [
- []
- ]
- },
- {
- "id": "9d96816e.64ca5",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1021.1902732849121,
- "y": 395.0954179763794,
- "z": "dcb795e3.12ddb8",
- "wires": [
- []
- ]
- },
- {
- "id": "e07500fb.cff53",
- "type": "outcome",
- "name": "deactivate",
- "xml": "<outcome value='deactivate'>\n",
- "comments": "",
- "outputs": 1,
- "x": 681.190315246582,
- "y": 349.76204776763916,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "3e660d10.204032"
- ]
- ]
- },
- {
- "id": "1d805763.8f6c79",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1018.333251953125,
- "y": 306.6666555404663,
- "z": "dcb795e3.12ddb8",
- "wires": [
- []
- ]
- },
- {
- "id": "bc77aaba.4aabe8",
- "type": "outcome",
- "name": "activate",
- "xml": "<outcome value='activate'>\n",
- "comments": "",
- "outputs": 1,
- "x": 674.9998931884766,
- "y": 307.33333110809326,
- "z": "dcb795e3.12ddb8",
- "wires": [
- [
- "1d805763.8f6c79"
- ]
- ]
- }
+ {
+ "id": "1b5f4355.88b3ed",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 136,
+ "y": 81.41365623474121,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "92410749.e30c28"
+ ]
+ ]
+ },
+ {
+ "id": "92410749.e30c28",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<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}'>",
+ "outputs": 1,
+ "x": 211.28570556640625,
+ "y": 121.65176773071289,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "de7a7cf0.2991d"
+ ]
+ ]
+ },
+ {
+ "id": "de7a7cf0.2991d",
+ "type": "method",
+ "name": "method vnf-topology-operation",
+ "xml": "<method rpc='vnf-topology-operation' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 204.42862701416016,
+ "y": 161.4136505126953,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "867be286.94ccc"
+ ]
+ ]
+ },
+ {
+ "id": "281a9dd6.337dd2",
+ "type": "comment",
+ "name": "vnf-topology-operation",
+ "info": "",
+ "comments": "",
+ "x": 530.344856262207,
+ "y": 29,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "867be286.94ccc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 220.16676330566406,
+ "y": 348.10718727111816,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "fe43f540.d09078",
+ "15193abc.c22c05",
+ "fc3ae627.2d5b18"
+ ]
+ ]
+ },
+ {
+ "id": "fe43f540.d09078",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 512.6667175292969,
+ "y": 498.27122020721436,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "15193abc.c22c05",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 515.5714340209961,
+ "y": 346.31843090057373,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "a43184a6.086e28",
+ "7b06cbd3.e89e84",
+ "dae5d288.e7a92",
+ "7acf72d2.60660c",
+ "2e7ef9bc.356346",
+ "d945d7c6.11f878",
+ "bd3763ee.b90e6"
+ ]
+ ]
+ },
+ {
+ "id": "a43184a6.086e28",
+ "type": "outcome",
+ "name": "assign",
+ "xml": "<outcome value='assign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 927.3809661865234,
+ "y": 56.937567710876465,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "19bbb0d.1420e4f"
+ ]
+ ]
+ },
+ {
+ "id": "7b06cbd3.e89e84",
+ "type": "outcome",
+ "name": "unassign",
+ "xml": "<outcome value='unassign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 943.4286308288574,
+ "y": 487.12828254699707,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "c0267b56.9f8598"
+ ]
+ ]
+ },
+ {
+ "id": "7acf72d2.60660c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 932.1428680419922,
+ "y": 867.3183660507202,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "7fb1d50a.a61dfc"
+ ]
+ ]
+ },
+ {
+ "id": "7fb1d50a.a61dfc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
+ "comments": "",
+ "x": 1165.3332977294922,
+ "y": 867.3184270858765,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+
+ ]
+ },
+ {
+ "id": "fc3ae627.2d5b18",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:validate-vnf-input",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 621.4166870117188,
+ "y": 237.79471588134766,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "19bbb0d.1420e4f",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1269.5238189697266,
+ "y": 56.50902843475342,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "989adce1.617b6",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1750.8571319580078,
+ "y": 399.84235858917236,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "c0267b56.9f8598",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1288.5237274169922,
+ "y": 486.8424139022827,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "dae5d288.e7a92",
+ "type": "outcome",
+ "name": "deactivate",
+ "xml": "<outcome value='deactivate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 950.5237579345703,
+ "y": 342.5090456008911,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "d35c6654.dff7f8"
+ ]
+ ]
+ },
+ {
+ "id": "b233aed1.7cc8b",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1692.6665802001953,
+ "y": 221.41364765167236,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "2e7ef9bc.356346",
+ "type": "outcome",
+ "name": "activate",
+ "xml": "<outcome value='activate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 930.3333053588867,
+ "y": 148.08033561706543,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "b8b2367a.dc9308"
+ ]
+ ]
+ },
+ {
+ "id": "d945d7c6.11f878",
+ "type": "outcome",
+ "name": "create",
+ "xml": "<outcome value='create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 945.0001182556152,
+ "y": 587.5000038146973,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "11cfb10a.0c9b2f"
+ ]
+ ]
+ },
+ {
+ "id": "bd3763ee.b90e6",
+ "type": "outcome",
+ "name": "delete",
+ "xml": "<outcome value='delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 943.0001068115234,
+ "y": 730.5000066757202,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "b6227308.758fb"
+ ]
+ ]
+ },
+ {
+ "id": "3b079f6f.6575e",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1172.0000762939453,
+ "y": 198.5000123977661,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "91e1f35b.e83e1",
+ "9ab20bbe.72bfe8"
+ ]
+ ]
+ },
+ {
+ "id": "9ab20bbe.72bfe8",
+ "type": "outcome",
+ "name": "ActivateSiteInstance",
+ "xml": "<outcome value='ActivateSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1385.4762725830078,
+ "y": 129.979229927063,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "cc08e8cd.1386a8"
+ ]
+ ]
+ },
+ {
+ "id": "91e1f35b.e83e1",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1354.381004333496,
+ "y": 221.3572244644165,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "b233aed1.7cc8b"
+ ]
+ ]
+ },
+ {
+ "id": "b8b2367a.dc9308",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1111.0000762939453,
+ "y": 143.5000123977661,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "3b079f6f.6575e"
+ ]
+ ]
+ },
+ {
+ "id": "cc08e8cd.1386a8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1759.0000762939453,
+ "y": 128.5000123977661,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "c5b71763.802b68",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1213.0000762939453,
+ "y": 375.5000123977661,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "68410e70.ad006",
+ "bb394983.2aedd8"
+ ]
+ ]
+ },
+ {
+ "id": "bb394983.2aedd8",
+ "type": "outcome",
+ "name": "DeActivateSiteInstance",
+ "xml": "<outcome value='DeActivateSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1426.4762725830078,
+ "y": 306.979229927063,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "91176b7.7e10a98"
+ ]
+ ]
+ },
+ {
+ "id": "68410e70.ad006",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1395.381004333496,
+ "y": 398.3572244644165,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "989adce1.617b6"
+ ]
+ ]
+ },
+ {
+ "id": "d35c6654.dff7f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1152.0000762939453,
+ "y": 320.5000123977661,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "c5b71763.802b68"
+ ]
+ ]
+ },
+ {
+ "id": "91176b7.7e10a98",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1796.0000762939453,
+ "y": 304.5000123977661,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "2493a0e1.8557e",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1188.3336029052734,
+ "y": 640.086371421814,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "83563263.c6fd7",
+ "db1508ed.23aba8"
+ ]
+ ]
+ },
+ {
+ "id": "db1508ed.23aba8",
+ "type": "outcome",
+ "name": "CreateSiteInstance",
+ "xml": "<outcome value='CreateSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1401.809799194336,
+ "y": 571.5655889511108,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "614f2a06.d13b14"
+ ]
+ ]
+ },
+ {
+ "id": "83563263.c6fd7",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1370.7145309448242,
+ "y": 662.9435834884644,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "b50447b1.828c48"
+ ]
+ ]
+ },
+ {
+ "id": "11cfb10a.0c9b2f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1127.3336029052734,
+ "y": 585.086371421814,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "2493a0e1.8557e"
+ ]
+ ]
+ },
+ {
+ "id": "614f2a06.d13b14",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1775.3336029052734,
+ "y": 570.086371421814,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "b50447b1.828c48",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1511.0001068115234,
+ "y": 664.0000066757202,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "ae568733.43d4f8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1189.0001068115234,
+ "y": 783.0000066757202,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "7dcf461f.f62e18",
+ "3e92266c.ac902a"
+ ]
+ ]
+ },
+ {
+ "id": "3e92266c.ac902a",
+ "type": "outcome",
+ "name": "DeleteSiteInstance",
+ "xml": "<outcome value='DeleteSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1402.476303100586,
+ "y": 714.4792242050171,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "bb58fef3.31757"
+ ]
+ ]
+ },
+ {
+ "id": "7dcf461f.f62e18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1371.3810348510742,
+ "y": 805.8572187423706,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "efc8c613.2b0088"
+ ]
+ ]
+ },
+ {
+ "id": "b6227308.758fb",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1128.0001068115234,
+ "y": 728.0000066757202,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+ "ae568733.43d4f8"
+ ]
+ ]
+ },
+ {
+ "id": "bb58fef3.31757",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1776.0001068115234,
+ "y": 713.0000066757202,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ },
+ {
+ "id": "efc8c613.2b0088",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1511.6666107177734,
+ "y": 806.9136419296265,
+ "z": "c9c2af7b.65cd3",
+ "wires": [
+ [
+
+ ]
+ ]
+ }
]
diff --git a/platform-logic/generic-resource-api/src/main/resources/graph.versions b/platform-logic/generic-resource-api/src/main/resources/graph.versions
index 73e4f7c1..d0e98086 100644
--- a/platform-logic/generic-resource-api/src/main/resources/graph.versions
+++ b/platform-logic/generic-resource-api/src/main/resources/graph.versions
@@ -80,4 +80,8 @@ GENERIC-RESOURCE-API sotn-network-topology-operation-create ${project.version} s
GENERIC-RESOURCE-API sotn-network-topology-operation-delete ${project.version} sync
GENERIC-RESOURCE-API sotn-network-topology-operation-activate ${project.version} sync
GENERIC-RESOURCE-API sotn-network-topology-operation-deactivate ${project.version} sync
-GENERIC-RESOURCE-API validate-sotn-network-input-parameters ${project.version} sync \ No newline at end of file
+GENERIC-RESOURCE-API validate-sotn-network-input-parameters ${project.version} sync
+GENERIC-RESOURCE-API site-vnf-topology-operation-create ${project.version} sync
+GENERIC-RESOURCE-API site-vnf-topology-operation-delete ${project.version} sync
+GENERIC-RESOURCE-API site-vnf-topology-operation-activate ${project.version} sync
+GENERIC-RESOURCE-API site-vnf-topology-operation-deactivate ${project.version} sync \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml
new file mode 100644
index 00000000..c5d13775
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml
@@ -0,0 +1,82 @@
+<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='connection-attachment-topology-operation' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-connection-attachment-input' mode='sync' ></call>
+ <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='create'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-create' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='activate'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-activate' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='delete'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='deactivate'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-delete' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-action is invalid" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="ack-final" value="Y"/>
+ </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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml
index 653e68a8..f7782fb8 100755..100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml
@@ -1,45 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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="network-topology-operation" mode="sync">
+<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='network-topology-operation' mode='sync'>
<block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="validate-network-input" mode="sync" />
- <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
- <outcome value="assign">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' ></call>
+ <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='assign'>
<block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-assign" mode="sync" />
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' ></call>
</block>
</outcome>
- <outcome value="activate">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="ActivateDCINetworkInstance">
- <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-activate" mode="sync" />
+ <outcome value='activate'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNConnectivityInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-activate' mode='sync' ></call>
</outcome>
- <outcome value="other">
+ <outcome value='ActivateDCINetworkInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
<block atomic="true">
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
</return>
</outcome>
- <outcome value="Other">
+ <outcome value='Other'>
<block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
<switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
+ <outcome value='true'>
<set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
</set>
</outcome>
</switch>
</for>
<switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
</return>
@@ -48,13 +52,13 @@
</block>
</outcome>
</switch>
- <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
- <outcome value="PendingCreate">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-activate" mode="sync" />
+ <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
+ <outcome value='PendingCreate'>
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' ></call>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
</return>
@@ -64,87 +68,96 @@
</outcome>
</switch>
</outcome>
- <outcome value="deactivate">
+ <outcome value='deactivate'>
<block atomic="true">
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSOTNConnectivityInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-deactivate' mode='sync' ></call>
</outcome>
- <outcome value="Other">
+ <outcome value='Other'>
<block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
- <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
- <set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
- </set>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
</return>
</outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
+ <outcome value='Created'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeActivateDCINetworkInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ <outcome value='Other'>
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
+ </return>
+ </outcome>
</switch>
</block>
</outcome>
</switch>
- <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
- <outcome value="Created">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="DeActivateDCINetworkInstance">
- <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-deactivate" mode="sync" />
- </outcome>
- <outcome value="Other">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-deactivate" mode="sync" />
- </outcome>
- </switch>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
</block>
</outcome>
- <outcome value="unassign">
+ <outcome value='unassign'>
<block atomic="true">
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
</return>
</outcome>
- <outcome value="Other">
+ <outcome value='Other'>
<block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
<switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
+ <outcome value='true'>
<set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
</set>
</outcome>
</switch>
</for>
<switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
</return>
@@ -153,16 +166,16 @@
</block>
</outcome>
</switch>
- <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
- <outcome value="PendingCreate">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />
+ <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
+ <outcome value='PendingCreate'>
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>
</outcome>
- <outcome value="PendingDelete">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />
+ <outcome value='PendingDelete'>
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
</return>
@@ -170,32 +183,46 @@
</switch>
</block>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
</return>
</outcome>
- <outcome value="create">
- <block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-create" mode="sync" />
- </block>
+ <outcome value='create'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSOTNConnectivityInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-create' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' ></call>
+ </block>
+ </outcome>
+ </switch>
</outcome>
- <outcome value="delete">
- <block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-delete" mode="sync" />
- </block>
+ <outcome value='delete'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSOTNConnectivityInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-delete' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' ></call>
+ </block>
+ </outcome>
+ </switch>
</outcome>
</switch>
<set>
- <parameter name="ack-final" value="Y" />
+ <parameter name="ack-final" value="Y"/>
</set>
- <return status="success">
+ <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>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml
new file mode 100644
index 00000000..0078f07d
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml
@@ -0,0 +1,149 @@
+<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='site-vnf-topology-operation-activate' mode='sync'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='0'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.vidx' value='`$vidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.vidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.sdwan.site' value='false' />
+ </set>
+ <for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' >
+ <block>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ <parameter name='tmp.sdwan.site' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ <parameter name='tmp.sdwan.site' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test="`$tmp.sdwan.site`">
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true"></block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Active' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <set>
+ <parameter name='vnfId' value='`$prop.vnf-index`' />
+ <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </set>
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf'
+ key='generic-vnf.vnf-id = $prop.vnf-index' >
+ <parameter name='vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='in-maint' value='true' />
+ <parameter name='is-closed-loop-disabled' value='false' />
+ <parameter name='orchestration-status' value='Active' />
+ <parameter name='operational-status' value='Active' />
+ <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </update>
+ <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-instance-id
+ AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id
+ AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" />
+ </save>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml
new file mode 100644
index 00000000..ab728d7c
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml
@@ -0,0 +1,137 @@
+<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='site-vnf-topology-operation-create' mode='sync'>
+ <block atomic="true">
+ <for index="idx" start="0" end="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`">
+ <block>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+ <parameter name="ctx-destination" value="prop.vnf-index"/>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.vnf-id' value='`$prop.vnf-index`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <set>
+ <parameter name='vnfId' value='`$prop.vnf-index`' />
+ <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </set>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf'
+ key='generic-vnf.vnf-id = $prop.vnf-index' >
+ <parameter name='vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='vnf-name' value='`$prop.site.name`' />
+ <parameter name='vnf-name2' value='`$prop.site.description`' />
+ <parameter name='regional-resource-zone' value='`$prop.site.location`' />
+ <parameter name='vnf-type' value='prop.site.type' />
+ <parameter name='in-maint' value='true' />
+ <parameter name='is-closed-loop-disabled' value='false' />
+ <parameter name='orchestration-status' value='Created' />
+ <parameter name='operational-status' value='Created' />
+ <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </save>
+ <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-instance-id
+ AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id
+ AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" />
+ </save>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml
new file mode 100644
index 00000000..373706fd
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml
@@ -0,0 +1,149 @@
+<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='site-vnf-topology-operation-deactivate' mode='sync'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='0'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.vidx' value='`$vidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.vidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.sdwan.site' value='false' />
+ </set>
+ <for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' >
+ <block>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ <parameter name='tmp.sdwan.site' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />
+ <parameter name='tmp.sdwan.site' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test="`$tmp.sdwan.site`">
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true"></block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingDelete' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <set>
+ <parameter name='vnfId' value='`$prop.vnf-index`' />
+ <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </set>
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf'
+ key='generic-vnf.vnf-id = $prop.vnf-index' >
+ <parameter name='vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='in-maint' value='true' />
+ <parameter name='is-closed-loop-disabled' value='false' />
+ <parameter name='orchestration-status' value='PendingDelete' />
+ <parameter name='operational-status' value='PendingDelete' />
+ <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </update>
+ <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-instance-id
+ AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id
+ AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" />
+ </save>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml
new file mode 100644
index 00000000..2bba7f30
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml
@@ -0,0 +1,101 @@
+<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='site-vnf-topology-operation-delete' mode='sync'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='0'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.vidx' value='`$vidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.vidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingDelete'`">
+ <outcome value='false'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cannot delete a VNF in a Created state" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test="`$ctx.vnf-data.vf-modules.vf-module_length`">
+ <outcome value='0'>
+ <block></block>
+ </outcome>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cannot delete the VNF because there are VFs defined" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="service-data.vnfs." value=""/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >
+ <set>
+ <parameter name="$tmpidx" value="`$idx - 1`"/>
+ <parameter name="service-data.vnfs.vnf[$tmpidx]." value="$service-data.vnfs.vnf[$idx]." />
+ </set>
+ </for>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1]." value=""/>
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf'
+ key='generic-vnf.vnf-id = $prop.vnf-index' ></delete>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.xml
new file mode 100644
index 00000000..a8935d83
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.xml
@@ -0,0 +1,521 @@
+<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='sotn-attachment-topology-operation-activate' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <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>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id/' pfx='mdsal-ar' >
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <block atomic='true'>
+ <set>
+ <parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />
+ </set>
+ <switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
+ <outcome value='Created'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message"
+ value="`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='connection-attachment-get-request-input-param' mode='sync' ></call>
+ </block>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id/service-data' pfx='mdsal-psd' >
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='tmp.found-in-ar' value='false' />
+ <parameter name='tmp.found-in-network' value='false' />
+ <parameter name='tmp.ep-available' value='false' />
+ </set>
+ <switch test='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`'>
+ <outcome value='2'>
+ <block atomic="true">
+ <for index='pidx' start='0' end='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`' >
+ <switch test="`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <block></block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.pidx' value='`$pidx`' />
+ <parameter name='tmp.provided-ar.' value='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$pidx].`' />
+ <parameter name='tmp.found-in-ar' value='true' />
+ <parameter name='tmp.ep-available' value='true' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$tmp.found-in-ar`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$tmp.provided-ar.allotted-resource-id/' pfx='mdsal-other-ar' >
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN provided attachment resource not found" />
+ </return>
+ </outcome>
+ </get-resource>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='1'>
+ <block atomic="true">
+ <switch test='`$mdsal-psd.networks.network_length`'>
+ <outcome value='1'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.network.' value='`$mdsal-psd.networks.network[0].`' />
+ </set>
+ <for index='nidx' start='0' end='`$tmp.network.network-data.network-request-input.network-input-parameters.param_length`' >
+ <block>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$nidx].name == 'access-node-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.found-in-network' value='true' />
+ <parameter name='tmp.ep-available' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.etht-svc-name' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ <parameter name='prop.global.sotn.bandwidth-profile-name' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'description'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.etht-svc-descr' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'tenantId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.tenantId' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'vpnType'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.vpnType' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'CIR'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.cir' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'EIR'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.eir' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'color-aware'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.colorAware' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].name == 'coupling-flag'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.global.sotn.couplingFlag' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <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>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Incorrect state found more then 1 network" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.ep-available`'>
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true">
+ <switch test='`$tmp.found-in-ar`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ep.parameters' value='`$mdsal-other-ar.allotted-resource-data.connection-attachment-topology.connection-attachment-parameters`' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ep.parameters' value='`$tmp.network.network-data.network-request-input.network-input-parameters`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$tmp.ep.parameters.param_length`' >
+ <block>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'access-node-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.access-node-id' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'access-ltp-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.access-ltp-id' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'clientSignal'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.clientSignal' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'cVLAN'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.cVLAN' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'access-provider-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.access-provider-id' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'access-client-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.access-client-id' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.ep.parameters.param[$idx].name == 'access-topology-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.remote.connection-attachment.access-topology-id' value='`$tmp.ep.parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <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>
+ </for>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`" />
+ <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url'`" />
+ <parameter name="restapiUser" value="`$prop.oof.user`" />
+ <parameter name="restapiPassword" value="`$prop.oof.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="oof"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.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 Create vpn rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ <for index='vidx' start='0' end='`$oof.vpns_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='oof.vpn.' value='`$oof.vpns[$vidx].`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="pnf"
+ key="pnf.pnf-name = $oof.vpn.access-node-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 pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-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 pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-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].service-url`" />
+ <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="`'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>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + 'restconf/data/ietf-eth-tran-service:etht-svc'`" />
+ <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="patch"/>
+ <parameter name="responsePrefix" value="vpn-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.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 Create vpn rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Active' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sotn-attachment.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-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-ar" />
+ <outcome value='success'>
+ <block></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 updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </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="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="allotted-resource"
+ key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id"
+ pfx='pfx' local-only='false' force='false'>
+ <parameter name="description" value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`" />
+ <parameter name="selflink" value="`$tmp.ar.self-link`" />
+ <parameter name="model-invariant-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`" />
+ <parameter name="operational-status" value="Active" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </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="AAI failed" />
+ </return>
+ </outcome>
+ </update>
+ <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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.xml
new file mode 100644
index 00000000..50ab2493
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.xml
@@ -0,0 +1,250 @@
+<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='sotn-attachment-topology-operation-create' mode='sync'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+ <parameter name="ctx-destination" value="tmp.ar.allotted-resource-id"/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='' />
+ <parameter name='error-message' value="An error occured while generation allotted resource ID" />
+ </return>
+ </outcome>
+ </execute>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.ar.allotted-resource-type' value="SOTNAttachmentInstance" />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.ar.allotted-resource-type' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <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>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$tmp.ar.allotted-resource-id/' pfx='mdsal-ar' >
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error: Existing connection attachment allotted resource" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </get-resource>
+ <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.cidx' value="`0`" />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value="1" />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.found-cidx' value="`false`" />
+ </set>
+ <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
+ <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource as cosumed allotted resource already exists." />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$tmp.found-cidx`'>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value="`$tmp.ar.self-link` " />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.parent-provided-resource`"/>
+ <parameter name="outputPath" value="tmp.parent-ar-url"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.parent-ar-url`"/>
+ <parameter name="outputPath" value="tmp.parent-ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-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="parent" />
+ <outcome value='success'>
+ <block></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 updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </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="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar-identifiers.consuming-service-instance-id' value="`$connection-attachment-topology-operation-input.service-information.service-instance-id` " />
+ <parameter name='connection-attachment-ar-identifiers.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ <parameter name='connection-attachment-ar-identifiers.allotted-resource-type' value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
+ <parameter name='connection-attachment-ar-identifiers.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.'
+ value="`$connection-attachment-ar-identifiers.`" />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='connection-attachment-get-request-input-param' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sotn-attachment.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-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-ar" />
+ <outcome value='success'>
+ <block></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 updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </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="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="allotted-resource"
+ key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id"
+ pfx='pfx' local-only='false' force='false'>
+ <parameter name="description" value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`" />
+ <parameter name="selflink" value="`$tmp.ar.self-link`" />
+ <parameter name="model-invariant-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`" />
+ <parameter name="operational-status" value="Created" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </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="AAI failed" />
+ </return>
+ </outcome>
+ </update>
+ <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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.xml
new file mode 100644
index 00000000..5df10857
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.xml
@@ -0,0 +1,338 @@
+<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='sotn-attachment-topology-operation-deactivate' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <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>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='connection-attachment-allotted-resources/connection-attachment-allotted-resource/$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id/' pfx='mdsal-ar' >
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <block atomic='true'>
+ <set>
+ <parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />
+ </set>
+ <switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
+ <outcome value='Active'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message"
+ value="`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='connection-attachment-get-request-input-param' mode='sync' ></call>
+ </block>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id/service-data' pfx='mdsal-psd' >
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='tmp.found-in-ar' value='false' />
+ <parameter name='tmp.found-in-network' value='false' />
+ <parameter name='tmp.ep-available' value='false' />
+ </set>
+ <switch test='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`'>
+ <outcome value='2'>
+ <block atomic="true">
+ <for index='pidx' start='0' end='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`' >
+ <switch test="`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <block></block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.pidx' value='`$pidx`' />
+ <parameter name='tmp.provided-ar.' value='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$pidx].`' />
+ <parameter name='tmp.found-in-ar' value='true' />
+ <parameter name='tmp.ep-available' value='true' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='1'>
+ <block atomic="true">
+ <switch test='`$mdsal-psd.networks.network_length`'>
+ <outcome value='1'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.network.' value='`$mdsal-psd.networks.network[0].`' />
+ </set>
+ <for index='nidx' start='0' end='`$tmp.network.network-data.network-request-input.network-input-parameters.param_length`' >
+ <block>
+ <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$nidx].name == 'access-node-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.found-in-network' value='true' />
+ <parameter name='tmp.ep-available' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ <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>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Incorrect state found more then 1 network" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.ep-available`'>
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="pnf"
+ key="pnf.pnf-name = $prop.connection-attachement.access-node-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 pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-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 pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-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].service-url`" />
+ <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="`'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>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + 'restconf/data/ietf-eth-tran-service:etht-svc/etht-svc-instances=' + $prop.connection-attachment.sotnVpnName`" />
+ <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.openecomp.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 Create vpn rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sotn-attachment.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-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-ar" />
+ <outcome value='success'>
+ <block></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 updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </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="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="allotted-resource"
+ key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id"
+ pfx='pfx' local-only='false' force='false'>
+ <parameter name="description" value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`" />
+ <parameter name="selflink" value="`$tmp.ar.self-link`" />
+ <parameter name="model-invariant-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`" />
+ <parameter name="operational-status" value="PendingDelete" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </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="AAI failed" />
+ </return>
+ </outcome>
+ </update>
+ <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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.xml
new file mode 100644
index 00000000..1dd02a90
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.xml
@@ -0,0 +1,175 @@
+<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='sotn-attachment-topology-operation-delete' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <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>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='Delete' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block></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 updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </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="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Resource to be deleted doesn't exist in MDSAL." />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
+ <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.cidx' value='`$cidx`' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.cidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="resource to be deleted is not available in mdsal" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx]." value="" />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id/service-data' pfx='mdsal-psd' >
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </get-resource>
+ <switch test='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Resource to be deleted doesn't exist in MDSAL." />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='pidx' start='0' end='`$mdsal-psd.provided-allotted-resources.provided-allotted-resource_length`' >
+ <switch test="`$mdsal-psd.provided-allotted-resources.provided-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.pidx' value='`$pidx`' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.pidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="resource to be deleted is not available in mdsal" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="service-data.provided-allotted-resources.consumed-allotted-resource[$pidx]." value="" />
+ <parameter name='service-data.provided-allotted-resources.consumed-allotted-resource_length' value='`$service-data.provided-allotted-resources.consumed-allotted-resource_length - 1`' />
+ </set>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='allotted-resource'
+ key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id">
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </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="AAI failed" />
+ </return>
+ </outcome>
+ </delete>
+ <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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.xml
new file mode 100644
index 00000000..0aa82b73
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.xml
@@ -0,0 +1,73 @@
+<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='sotn-get-saved-ar-param' mode='sync'>
+ <block atomic="true">
+ <for index='idx' start='0' end='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`' >
+ <block>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'sotnVpnName'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.sotnVpnName' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-provider-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.access-provider-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-client-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.access-client-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-topology-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.access-topology-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-node-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.access-node-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'access-ltp-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.access-ltp-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'clientSignal'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.clientSignal' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'cVLAN'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.cVLAN' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <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>
+ </for>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.xml
index 5a7aa88d..93de3abb 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.xml
@@ -1,41 +1,44 @@
-<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="1.2.1-SNAPSHOT">
- <method rpc="sotn-network-topology-operation-activate" mode="sync">
- <block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="validate-sotn-network-input-parameters" mode="sync" />
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />
- <parameter name="field1" value="__TIMESTAMP__" />
- <parameter name="field2" value="sotn-network-topology-operation-activate" />
- <parameter name="field3" value="SOTN-Activate" />
- </record>
- <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>
- <set>
- <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />
- </set>
- <set>
- <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`" />
- <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/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` " />
- </set>
- <set>
- <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status" value="Active" />
- <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`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action" value="`$network-topology-operation-input.request-information.request-action`" />
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $network-topology-operation-input.network-information.network-id">
- <parameter name="configuration-id" value="`$network-topology-operation-input.network-information.network-id`" />
- <parameter name="operational-status" value="Active" />
- </update>
- <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
+ 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='sotn-network-topology-operation-activate' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' ></call>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="sotn-network-topology-operation-activate"/>
+ <parameter name="field3" value="SOTN-Activate"/>
+ </record>
+ <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>
+ <set>
+ <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
+ </set>
+ <set>
+ <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />
+ <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/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` " />
+ </set>
+ <set>
+ <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='Active' />
+ <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`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />
+ </set>
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration'
+ key='configuration.configuration-id = $network-topology-operation-input.network-information.network-id' >
+ <parameter name='configuration-id' value='`$network-topology-operation-input.network-information.network-id`' />
+ <parameter name='operational-status' value='Active' />
+ </update>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.xml
index e5d9268c..fa2547d3 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.xml
@@ -1,209 +1,209 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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="1.2.1-SNAPSHOT">
- <method rpc="sotn-network-topology-operation-create" mode="sync">
- <block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="validate-sotn-network-input-parameters" mode="sync" />
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
- <parameter name="ctx-destination" value="prop.sotn.network-id" />
- </execute>
- <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
- <block>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.etht-svc-name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'description'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.etht-svc-descr" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'tenantId'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.tenantId" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vpnType'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.vpnType" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'CIR'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.cir" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'EIR'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.eir" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'CBS'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.cbs" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'PBS'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.pbs" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'color-aware'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.colorAware" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'coupling-flag'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.couplingFlag" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-provider-id'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.access-provider-id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-client-id'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.access-client-id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-topology-id'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.access-topology-id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-node-id'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.access-node-id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-ltp-id'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.access-ltp-id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'cVLAN'`">
- <outcome value="true">
- <set>
- <parameter name="prop.sotn.cVLAN" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
- </set>
- </outcome>
- </switch>
- </block>
- </for>
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <set>
- <parameter name="nidx" value="0" />
- </set>
- </outcome>
- <outcome value="Other">
- <block>
- <set>
- <parameter name="nidx" value="`$service-data.networks.network_length`" />
- </set>
- <for index="idx" start="0" end="`$nidx`">
- <switch test="`$service-data.networks.network[$idx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id already found in service-data" />
- </return>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />
- <parameter name="field1" value="__TIMESTAMP__" />
- <parameter name="field2" value="sotn-network-topology-operation-create" />
- <parameter name="field3" value="SOTN-Config" />
- </record>
- <set>
- <parameter name="service-data.networks.network[$nidx].network-id" value="`$prop.sotn.network-id`" />
- <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value="`$network-topology-operation-input.network-request-input.`" />
- <parameter name="service-data.networks.network_length" value="`$nidx+1`" />
- </set>
- <set>
- <parameter name="networkId" value="`$prop.sotn.network-id`" />
- <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.sotn.network-id + '/network-data/'` " />
- </set>
- <set>
- <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status" value="Created" />
- <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`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action" value="`$network-topology-operation-input.request-information.request-action`" />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $prop.sotn.network-id">
- <parameter name="configuration-id" value="`$prop.sotn.network-id`" />
- <parameter name="configuration-name" value="`$prop.sotn.client-svc-name`" />
- <parameter name="configuration-type" value="`$prop.sotn.client-svc-descr`" />
- <parameter name="configuration-sub-type" value="`$prop.sotn.tenantId`" />
- <parameter name="orchestration-status" value="`$prop.sotn.vpnType`" />
- <parameter name="management-option" value="`$prop.sotn.cir`" />
- <parameter name="operational-status" value="Created" />
- <parameter name="model-customization-id" value="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`" />
- <parameter name="model-invariant-id" value="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$network-topology-operation-input.network-information.onap-model-information.model-uuid`" />
- <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.sotn.network-id + '/network-data/'` " />
- </save>
- <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-instance-id AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type" force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="configuration" />
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/configurations/configuration/' + $prop.sotn.network-id`" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="configuration.configuration-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />
- </save>
- <set>
- <parameter name="unique-src-ltpId" value="`'nodeId-' + $prop.sotn.src-access-node-id + '-ltpId-' + $prop.sotn.src-access-ltp-id`" />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration:relationship-list" key="configuration.configuration-id = $prop.sotn.network-id" force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="logical-link" />
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $unique-src-ltpId`" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-src-ltpId`" />
- </save>
- <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
+ 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='sotn-network-topology-operation-create' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+ <parameter name="ctx-destination" value="prop.sotn.network-id"/>
+ </execute>
+ <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
+ <block>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.etht-svc-name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'description'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.etht-svc-descr' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'tenantId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.tenantId' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vpnType'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.vpnType' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'CIR'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.cir' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'EIR'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.eir' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'CBS'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.cbs' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'PBS'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.pbs' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'color-aware'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.colorAware' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'coupling-flag'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.couplingFlag' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-provider-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.access-provider-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-client-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.access-client-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-topology-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.access-topology-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-node-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.access-node-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'access-ltp-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.access-ltp-id' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'cVLAN'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.sotn.cVLAN' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='nidx' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='nidx' value='`$service-data.networks.network_length`' />
+ </set>
+ <for index='idx' start='0' end='`$nidx`' >
+ <switch test="`$service-data.networks.network[$idx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id already found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="sotn-network-topology-operation-create"/>
+ <parameter name="field3" value="SOTN-Config"/>
+ </record>
+ <set>
+ <parameter name='service-data.networks.network[$nidx].network-id' value='`$prop.sotn.network-id`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />
+ <parameter name='service-data.networks.network_length' value='`$nidx+1`' />
+ </set>
+ <set>
+ <parameter name='networkId' value='`$prop.sotn.network-id`' />
+ <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.sotn.network-id + '/network-data/'` " />
+ </set>
+ <set>
+ <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='Created' />
+ <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`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />
+ </set>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration'
+ key='configuration.configuration-id = $prop.sotn.network-id' >
+ <parameter name='configuration-id' value='`$prop.sotn.network-id`' />
+ <parameter name='configuration-name' value='`$prop.sotn.client-svc-name`' />
+ <parameter name='configuration-type' value='`$prop.sotn.client-svc-descr`' />
+ <parameter name='configuration-sub-type' value='`$prop.sotn.tenantId`' />
+ <parameter name='orchestration-status' value='`$prop.sotn.vpnType`' />
+ <parameter name='management-option' value='`$prop.sotn.cir`' />
+ <parameter name='operational-status' value='Created' />
+ <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />
+ <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />
+ <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />
+ <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.sotn.network-id + '/network-data/'` " />
+ </save>
+ <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-instance-id
+ AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id
+ AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type'
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="configuration" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/configurations/configuration/' + $prop.sotn.network-id`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="configuration.configuration-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />
+ </save>
+ <set>
+ <parameter name='unique-src-ltpId' value="`'nodeId-' + $prop.sotn.src-access-node-id + '-ltpId-' + $prop.sotn.src-access-ltp-id`" />
+ </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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.xml
index 33c69ce9..27d27388 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.xml
@@ -1,41 +1,44 @@
-<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="1.2.1-SNAPSHOT">
- <method rpc="sotn-network-topology-operation-deactivate" mode="sync">
- <block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="validate-sotn-network-input-parameters" mode="sync" />
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />
- <parameter name="field1" value="__TIMESTAMP__" />
- <parameter name="field2" value="sotn-network-topology-operation-activate" />
- <parameter name="field3" value="SOTN-Deactivate" />
- </record>
- <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>
- <set>
- <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />
- </set>
- <set>
- <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`" />
- <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/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` " />
- </set>
- <set>
- <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status" value="PendingDelete" />
- <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`" />
- <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action" value="`$network-topology-operation-input.request-information.request-action`" />
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $network-topology-operation-input.network-information.network-id">
- <parameter name="configuration-id" value="`$network-topology-operation-input.network-information.network-id`" />
- <parameter name="operational-status" value="PendingDelete" />
- </update>
- <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
+ 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='sotn-network-topology-operation-deactivate' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' ></call>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="sotn-network-topology-operation-activate"/>
+ <parameter name="field3" value="SOTN-Deactivate"/>
+ </record>
+ <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>
+ <set>
+ <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
+ </set>
+ <set>
+ <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />
+ <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/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` " />
+ </set>
+ <set>
+ <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingDelete' />
+ <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`' />
+ <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />
+ </set>
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='configuration'
+ key='configuration.configuration-id = $network-topology-operation-input.network-information.network-id' >
+ <parameter name='configuration-id' value='`$network-topology-operation-input.network-information.network-id`' />
+ <parameter name='operational-status' value='PendingDelete' />
+ </update>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.xml
index b9ad46c5..c2d0c9ab 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.xml
@@ -1,29 +1,34 @@
-<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="1.2.1-SNAPSHOT">
- <method rpc="sotn-network-topology-operation-delete" mode="sync">
- <block atomic="true">
- <call module="GENERIC-RESOURCE-API" rpc="validate-sotn-network-input-parameters" mode="sync" />
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />
- <parameter name="field1" value="__TIMESTAMP__" />
- <parameter name="field2" value="sotn-network-topology-operation-delete" />
- <parameter name="field3" value="SOTN-Delete" />
- </record>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $network-topology-operation-input.network-information.network-id" />
- <set>
- <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`" />
- </set>
- <set>
- <parameter name="service-data.networks.network[$nidx]." value="" />
- </set>
- <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
+ 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='sotn-network-topology-operation-delete' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-sotn-network-input-parameters' mode='sync' ></call>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="sotn-network-topology-operation-delete"/>
+ <parameter name="field3" value="SOTN-Delete"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='configuration'
+ key='configuration.configuration-id = $network-topology-operation-input.network-information.network-id'></delete>
+ <set>
+ <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>
+ </set>
+ <set>
+ <parameter name="service-data.networks.network[$tmp.nidx]." value=""/>
+ </set>
+ <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>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
new file mode 100644
index 00000000..98762e99
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
@@ -0,0 +1,236 @@
+<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='validate-connection-attachment-input' mode='sync'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="service-information.service-instance-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.service-information.parent-service-instance-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='create'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSOTNAttachmentInstance'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">
+ <block>
+ <set>
+ <parameter name='tmp.name' value='' />
+ <parameter name='tmp.value' value='' />
+ </set>
+ <set>
+ <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>
+ <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>
+ </set>
+ <switch test="`$tmp.name`">
+ <outcome value='sotnVpnName'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='clientSignal'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='access-provider-id'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='access-client-id'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='access-topology-id'></outcome>
+ <outcome value='access-node-id'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='cVLAN'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='activate'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='deactivate'>
+ <block atomic="true">
+ <switch test='`$sotn-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSOTNAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='delete'>
+ <block atomic="true">
+ <switch test='`$sotn-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSOTNAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml
index f4e79be1..db1a73bb 100755..100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml
@@ -1,82 +1,83 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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="validate-network-input" mode="sync">
+<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='validate-network-input' mode='sync'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.sdnc-request-header.svc-request-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.sdnc-request-header.svc-request-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="request-information.request-action is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.service-information.service-instance-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.service-information.service-instance-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="service-information.service-instance-id is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
- <outcome value="assign">
+ <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='assign'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="CreateNetworkInstance">
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateNetworkInstance'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="" />
- <outcome value="Other">
+ <switch test='`$network-topology-operation-input.network-information.network-id`'>
+ <outcome value=''></outcome>
+ <outcome value='Other'>
<block>
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
<record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log" />
- <parameter name="field1" value="__TIMESTAMP__" />
- <parameter name="field2" value="GENERIC-RESOURCE-API.validate-network-input" />
- <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`" />
- <parameter name="field4" value="Network id proveded but no network exists that matches" />
- <parameter name="field5" value="`$network-topology-operation-input.network-information.network-id`" />
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.validate-network-input"/>
+ <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Network id proveded but no network exists that matches"/>
+ <parameter name="field5" value="`$network-topology-operation-input.network-information.network-id`"/>
</record>
</outcome>
- <outcome value="Other">
+ <outcome value='Other'>
<block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
<switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
+ <outcome value='true'>
<block atomic="true">
<set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />
</set>
</block>
</outcome>
</switch>
</for>
<switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
</return>
@@ -88,119 +89,137 @@
</block>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-information.onap-model-information.model-invariant-uuid is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-information.onap-model-information.model-customization-uuid is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-information.onap-model-information.model-uuid`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-information.onap-model-information.model-uuid is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-request-input.tenant`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-request-input.tenant`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-request-input.tenant is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-request-input.aic-cloud-region`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-request-input.aic-cloud-region`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="service-information.network-request-information.aic-cloud-region is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.service-information.onap-model-information.model-uuid`">
- <outcome value="">
+ <switch test='`$network-topology-operation-input.service-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
<block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid" pfx="service-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'
+ pfx='service-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid and service_uuid = $service-data.service-information.onap-model-information.model-uuid" pfx="network-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid
+ and service_uuid = $service-data.service-information.onap-model-information.model-uuid'
+ pfx='network-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
</block>
</outcome>
- <outcome value="Other">
+ <outcome value='Other'>
<block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid" pfx="service-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'
+ pfx='service-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid" pfx="network-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid
+ and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'
+ pfx='network-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
@@ -209,9 +228,9 @@
</switch>
</block>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="request-information.request-action is required to be CreateNetworkInstance for svc-action=assign" />
</return>
@@ -219,136 +238,157 @@
</switch>
</block>
</outcome>
- <outcome value="activate">
+ <outcome value='activate'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="ActivateDCINetworkInstance">
- <block atomic="true" />
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNConnectivityInstance'>
+ <block atomic="true"></block>
</outcome>
- <outcome value="CreateNetworkInstance">
+ <outcome value='ActivateDCINetworkInstance'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='CreateNetworkInstance'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.network-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="service-information.network-information.network-id is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-information.onap-model-information.model-invariant-uuid is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-information.onap-model-information.model-customization-uuid is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-information.onap-model-information.model-uuid`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-information.onap-model-information.model-uuid is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-request-input.tenant`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-request-input.tenant`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="network-request-input.tenant is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.network-request-input.aic-cloud-region`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-request-input.aic-cloud-region`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="service-information.network-request-information.aic-cloud-region is a required input" />
</return>
</outcome>
</switch>
- <switch test="`$network-topology-operation-input.service-information.onap-model-information.model-uuid`">
- <outcome value="">
+ <switch test='`$network-topology-operation-input.service-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
<block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid" pfx="service-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'
+ pfx='service-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid and service_uuid = $service-data.service-information.onap-model-information.model-uuid" pfx="network-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid
+ and service_uuid = $service-data.service-information.onap-model-information.model-uuid'
+ pfx='network-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
</block>
</outcome>
- <outcome value="Other">
+ <outcome value='Other'>
<block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid" pfx="service-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'
+ pfx='service-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid" pfx="network-model">
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid
+ and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'
+ pfx='network-model'>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No network model found for customization UUID ' + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid + ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
+ <parameter name="error-message" value="`'No network model found for customization UUID '
+ + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +
+ ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />
</return>
</outcome>
</get-resource>
@@ -357,9 +397,9 @@
</switch>
</block>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="request-information.request-action is required to be CreateNetworkInstance for svc-action=activate" />
</return>
@@ -367,18 +407,21 @@
</switch>
</block>
</outcome>
- <outcome value="deactivate">
+ <outcome value='deactivate'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="DeActivateDCINetworkInstance">
- <block atomic="true" />
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSOTNConnectivityInstance'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='DeActivateDCINetworkInstance'>
+ <block atomic="true"></block>
</outcome>
- <outcome value="DeleteNetworkInstance">
+ <outcome value='DeleteNetworkInstance'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.network-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="service-information.network-information.network-id is a required input" />
</return>
@@ -386,9 +429,9 @@
</switch>
</block>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=deactivate" />
</return>
@@ -396,15 +439,15 @@
</switch>
</block>
</outcome>
- <outcome value="unassign">
+ <outcome value='unassign'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="DeleteNetworkInstance">
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteNetworkInstance'>
<block atomic="true">
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <switch test='`$network-topology-operation-input.network-information.network-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="service-information.network-information.network-id is a required input" />
</return>
@@ -412,9 +455,9 @@
</switch>
</block>
</outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=unassign" />
</return>
@@ -423,11 +466,11 @@
</block>
</outcome>
</switch>
- <return status="success">
+ <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>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml
index 7d4e5feb..a8587049 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml
@@ -1,297 +1,308 @@
-<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="1.2.1-SNAPSHOT">
- <method rpc="validate-sotn-network-input-parameters" mode="sync">
- <block atomic="true">
- <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
- <outcome value="create">
- <block atomic="true">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="CreateSOTNConnectivityIntance">
- <block atomic="true">
- <for index="i" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
- <block>
- <set>
- <parameter name="tmp.name" value="" />
- <parameter name="tmp.value" value="" />
- </set>
- <set>
- <parameter name="tmp.name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`" />
- <parameter name="tmp.value" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`" />
- </set>
- <switch test="`$tmp.name`">
- <outcome value="name">
- <switch test="`$tmp.value`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
+<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='validate-sotn-network-input-parameters' mode='sync'>
+ <block atomic="true">
+ <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='create'>
+ <block atomic="true">
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSOTNConnectivityIntance'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
+ <block>
+ <set>
+ <parameter name='tmp.name' value='' />
+ <parameter name='tmp.value' value='' />
+ </set>
+ <set>
+ <parameter name='tmp.name' value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`"/>
+ <parameter name='tmp.value' value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`"/>
+ </set>
+ <switch test="`$tmp.name`">
+ <outcome value='name'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='description'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='activate'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNConnectivityIntance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>
+ </execute>
+ <switch test="`$network-topology-operation-input.network-information.network-id`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
</outcome>
- <outcome value="description">
- <switch test="`$tmp.value`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
+ </switch>
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
</outcome>
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
- </return>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
</outcome>
- </switch>
- </block>
- </for>
- </block>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value="activate">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="ActivateSOTNConnectivityIntance">
- <block atomic="true">
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="requiredParameters">
- <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id" />
- </execute>
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
- </outcome>
- <outcome value="Other">
- <block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
- <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
- <set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].network-data.`" />
- </set>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
+ </switch>
+ <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
+ <outcome value='Created'>
+ <block atomic="true"></block>
</outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
- <outcome value="Created">
- <block atomic="true" />
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value="deactivate">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="DeactivateSOTNConnectivityIntance">
- <block atomic="true">
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="requiredParameters">
- <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id" />
- </execute>
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
- </outcome>
- <outcome value="Other">
- <block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
- <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
- <set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].network-data.`" />
- </set>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
+ </return>
</outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
- <outcome value="Active">
- <block atomic="true" />
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value="delete">
- <switch test="`$network-topology-operation-input.request-information.request-action`">
- <outcome value="DeleteSOTNConnectivityIntance">
- <block atomic="true">
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="requiredParameters">
- <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id" />
- </execute>
- <switch test="`$network-topology-operation-input.network-information.network-id`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test="`$service-data.networks.network_length`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
- </outcome>
- <outcome value="Other">
- <block atomic="true">
- <for index="nidx" start="0" end="`$service-data.networks.network_length`">
- <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
- <outcome value="true">
- <set>
- <parameter name="tmp.nidx" value="`$nidx`" />
- <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].network-data.`" />
- </set>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.nidx`">
- <outcome value="">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
- </return>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='deactivate'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSOTNConnectivityIntance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>
+ </execute>
+ <switch test="`$network-topology-operation-input.network-information.network-id`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
</outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
- <outcome value="PendingDelete">
- <block atomic="true" />
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Network is not in appropriate state for delete. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
+ </switch>
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
+ <outcome value='Active'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='delete'>
+ <switch test='`$network-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSOTNConnectivityIntance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>
+ </execute>
+ <switch test="`$network-topology-operation-input.network-information.network-id`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.networks.network_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />
+ </set>
+ <break></break>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
+ <outcome value='PendingDelete'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Network is not in appropriate state for delete. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
- </return>
- </outcome>
- </switch>
- </block>
- </method>
+ <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </method>
</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml
index c9515f24..744ab373 100755..100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml
@@ -1,44 +1,77 @@
-<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='validate-vnf-input' mode='sync'>
-<block atomic="true"><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.request-information.request-action`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="service-information.service-instance-id is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.vnf-information.vnf-id`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.vnf-id is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
-<outcome value='assign'>
-<block atomic="true"><switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.onap-model-information.model-customization-uuid is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.vnf-request-input.tenant is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-request-input.aic-cloud-region is a required input" />
-</return></outcome></switch></block></outcome></switch></block></method></service-logic>
+<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='validate-vnf-input' mode='sync'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="service-information.service-instance-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='assign'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-information.onap-model-information.model-customization-uuid is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-information.vnf-request-input.tenant is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-request-input.aic-cloud-region is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml
index 9f4ee0e6..669ed75d 100755..100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml
@@ -1,21 +1,77 @@
-<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='vnf-topology-operation' mode='sync'>
-<block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >
-</call><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
-<outcome value='assign'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >
-</call></outcome><outcome value='activate'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >
-</call></outcome><outcome value='deactivate'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >
-</call></outcome><outcome value='unassign'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >
-</call></outcome><outcome value='Other'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
-</return></outcome></switch><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>
+<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='vnf-topology-operation' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' ></call>
+ <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='assign'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' ></call>
+ </outcome>
+ <outcome value='activate'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSiteInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-activate' mode='sync' ></call>
+ </outcome>
+ <outcome value='Other'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='deactivate'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeActivateSiteInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ <outcome value='Other'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='unassign'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' ></call>
+ </outcome>
+ <outcome value='create'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSiteInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-create' mode='sync' ></call>
+ </outcome>
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='delete'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSiteInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-delete' mode='sync' ></call>
+ </outcome>
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
+ </return>
+ </outcome>
+ </switch>
+ <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>
diff --git a/platform-logic/restapi-templates/src/main/json/oof-getpath.json b/platform-logic/restapi-templates/src/main/json/oof-getpath.json
new file mode 100644
index 00000000..f407f64b
--- /dev/null
+++ b/platform-logic/restapi-templates/src/main/json/oof-getpath.json
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - CCSDK
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "srcPort": {
+ "src-access-topology-id": ${prop.connection-attachment.access-topology-id},
+ "src-access-client-id": ${prop.connection-attachment.access-client-id},
+ "src-access-provider-id": ${prop.connection-attachment.access-provider-id},
+ "src-access-node-id": ${prop.connection-attachment.access-node-id},
+ "src-access-ltp-id": ${prop.connection-attachment.access-ltp-id}
+ },
+ "dstPort": {
+ "dst-access-topology-id": ${prop.remote.connection-attachment.access-topology-id},
+ "dst-access-client-id": ${prop.remote.connection-attachment.access-client-id},
+ "dst-access-provider-id": ${prop.remote.connection-attachment.access-provider-id},
+ "dst-access-node-id": ${prop.remote.connection-attachment.access-node-id},
+ "dst-access-ltp-id": ${prop.remote.connection-attachment.access-ltp-id}
+ }
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sotn-attachment-allotted-resource.json b/platform-logic/restapi-templates/src/main/json/sotn-attachment-allotted-resource.json
new file mode 100644
index 00000000..59ff8a41
--- /dev/null
+++ b/platform-logic/restapi-templates/src/main/json/sotn-attachment-allotted-resource.json
@@ -0,0 +1,153 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - CCSDK
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "connection-attachment-allotted-resource": [{
+ "allotted-resource-id": ${connection-attachment-ar.allotted-resource-id},
+ "allotted-resource-data": {
+ "connection-attachment-topology": {
+ "allotted-resource-identifiers": {
+ "consuming-service-instance-id": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id},
+ "allotted-resource-name": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.allotted-resource-name},
+ "allotted-resource-id": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.allotted-resource-id},
+ "parent-service-instance-id": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.parent-service-instance-id},
+ "allotted-resource-type": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.allotted-resource-type}
+ },
+ "onap-model-information": {
+ "model-invariant-uuid": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.model-invariant-uuid},
+ "model-customization-uuid": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.model-customization-uuid},
+ "model-uuid": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.model-uuid},
+ "model-version": ${connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.model-version}
+ },
+ "connection-attachment-parameters": {
+ "param": [
+ {
+ "name": "sotnVpnName",
+ "value": ${prop.connection-attachment.sotnVpnName}
+ },
+ {
+ "name": "access-provider-id",
+ "value": ${prop.connection-attachment.access-provider-id}
+ },
+ {
+ "name": "access-client-id",
+ "value": ${prop.connection-attachment.access-client-id}
+ },
+ {
+ "name": "access-topology-id",
+ "value": ${prop.connection-attachment.access-topology-id}
+ },
+ {
+ "name": "access-node-id",
+ "value": ${prop.connection-attachment.access-node-id}
+ },
+ {
+ "name": "access-ltp-id",
+ "value": ${prop.connection-attachment.access-ltp-id}
+ },
+ {
+ "name": "clientSignal",
+ "value": ${prop.connection-attachment.clientSignal}
+ },
+ {
+ "name": "cVLAN",
+ "value": ${prop.connection-attachment.cVLAN}
+ }
+ ]
+ }
+ },
+ "allotted-resource-operation-information": {
+ "allotted-resource-information": {
+ "allotted-resource-id": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.allotted-resource-id},
+ "allotted-resource-type": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.allotted-resource-type},
+ "parent-service-instance-id": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id},
+ "onap-model-information": {
+ "model-invariant-uuid": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.onap-model-information.model-invariant-uuid},
+ "model-customization-uuid": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.onap-model-information.model-customization-uuid},
+ "model-uuid": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.onap-model-information.model-uuid},
+ "model-version": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.onap-model-information.model-version}
+ }
+ },
+ "sdnc-request-header": {
+ "svc-request-id": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id},
+ "svc-action": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-action}
+ },
+ "request-information": {
+ "request-id": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-id},
+ "source": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.source},
+ "order-version": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.order-version},
+ "order-number": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.order-number},
+ "notification-url": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.notification-url},
+ "request-action": ${connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action}
+ },
+ "connection-attachment-request-input": {
+ "param": [
+ {
+ "name": "sotnVpnName",
+ "value": ${prop.connection-attachment.sotnVpnName}
+ },
+ {
+ "name": "access-provider-id",
+ "value": ${prop.connection-attachment.access-provider-id}
+ },
+ {
+ "name": "access-client-id",
+ "value": ${prop.connection-attachment.access-client-id}
+ },
+ {
+ "name": "access-topology-id",
+ "value": ${prop.connection-attachment.access-topology-id}
+ },
+ {
+ "name": "access-node-id",
+ "value": ${prop.connection-attachment.access-node-id}
+ },
+ {
+ "name": "access-ltp-id",
+ "value": ${prop.connection-attachment.access-ltp-id}
+ },
+ {
+ "name": "clientSignal",
+ "value": ${prop.connection-attachment.clientSignal}
+ },
+ {
+ "name": "cVLAN",
+ "value": ${prop.connection-attachment.cVLAN}
+ }
+ ]
+ },
+ "allotted-resource-oper-status": {
+ "last-action": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action},
+ "modify-timestamp": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.modify-timestamp},
+ "last-order-status": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-order-status},
+ "create-timestamp": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp},
+ "order-status": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status},
+ "last-rpc-action": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action},
+ "last-svc-request-id": ${connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id}
+ }
+ },
+ "allotted-resource-status" : {
+ "action": ${connection-attachment-ar.allotted-resource-status.action},
+ "rpc-name": ${connection-attachment-ar.allotted-resource-status.rpc-name},
+ "rpc-action": ${connection-attachment-ar.allotted-resource-status.rpc-action}
+ }
+ }
+ }]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sotn-ethernet-service.json b/platform-logic/restapi-templates/src/main/json/sotn-ethernet-service.json
new file mode 100644
index 00000000..b5a371a3
--- /dev/null
+++ b/platform-logic/restapi-templates/src/main/json/sotn-ethernet-service.json
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - CCSDK
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "ietf-eth-tran-service:etht-svc": {
+ "globals": {
+ "etht-svc-bandwidth-profiles": [
+ {
+ "bandwidth-profile-name": ${prop.global.sotn.bandwidth-profile-name},
+ "bandwidth-profile-type": "mef-10-bwp",
+ "CIR": ${prop.global.sotn.cir},
+ "EIR": ${prop.global.sotn.eir},
+ "color-aware": ${prop.global.sotn.colorAware},
+ "coupling-flag": ${prop.global.sotn.couplingFlag}
+ }
+ ]
+ },
+ "etht-svc-instances": [
+ {
+ "etht-svc-name": ${prop.global.sotn.etht-svc-name},
+ "access-provider-id": ${oof.vpn.access-provider-id},
+ "access-client-id": ${oof.vpn.access-client-id},
+ "access-topology-id": ${oof.vpn.access-topology-id},
+ "etht-svc-type": "p2p-svc",
+ "admin-status": "tunnel-state-up",
+ "etht-svc-access-ports": [
+ {
+ "access-port-id": 0,
+ "access-node-id": ${oof.vpn.access-node-id},
+ "access-ltp-id": ${oof.vpn.src-access-ltp-id},
+ "service-classification-type": "vlan-classification",
+ "outer-tag": {
+ "tag-type": "classify-c-vlan",
+ "vlan-value": ${prop.connection-attachment.cVLAN}
+ },
+ "ingress-egress-bandwidth-profile-name": ${prop.global.sotn.bandwidth-profile-name}
+ },
+ {
+ "access-port-id": 1,
+ "access-node-id": ${oof.vpn.access-node-id},
+ "access-ltp-id": ${oof.vpn.dst-access-ltp-id},
+ "service-classification-type": "vlan-classification",
+ "outer-tag": {
+ "tag-type": "classify-c-vlan",
+ "vlan-value": ${prop.connection-attachment.cVLAN}
+ },
+ "ingress-egress-bandwidth-profile-name": ${prop.global.sotn.bandwidth-profile-name}
+ }
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file