Add create\deleteAccessConnectivityInstance DGs 76/82576/2
authorBryan Guo <guofengbei@huawei.com>
Mon, 18 Mar 2019 10:12:32 +0000 (18:12 +0800)
committerGxxxx <guofengbei@huawei.com>
Thu, 21 Mar 2019 07:45:25 +0000 (15:45 +0800)
Issue-ID: SDNC-697,SDNC-697

Change-Id: I13160216d52c32e5b54fb70b6128be4a71f4110e
Signed-off-by: Gxxxx <guofengbei@huawei.com>
Former-commit-id: c128094513b16ceb2902d712edf47d2371d8adab

platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.xml [new file with mode: 0644]

diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.json
new file mode 100644 (file)
index 0000000..5666e42
--- /dev/null
@@ -0,0 +1,790 @@
+[
+    {
+        "id": "a54774d9.aada78",
+        "type": "dgstart",
+        "name": "DGSTART",
+        "outputs": 1,
+        "x": 324.50035095214844,
+        "y": 302.0000333786011,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "34dc66ca.55442a"
+            ]
+        ]
+    },
+    {
+        "id": "34dc66ca.55442a",
+        "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": 632.5,
+        "y": 302.00005531311035,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "c70722ad.71e9d"
+            ]
+        ]
+    },
+    {
+        "id": "c70722ad.71e9d",
+        "type": "method",
+        "name": "method:bbs-access-connectivity-network-topology-operation-create-huawei",
+        "xml": "<method rpc='bbs-access-connectivity-network-topology-operation-create-huawei' mode='sync'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 630.5,
+        "y": 498.00009536743164,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "425fe8.32825018"
+            ]
+        ]
+    },
+    {
+        "id": "425fe8.32825018",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1037.5002136230469,
+        "y": 499.00009536743164,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "4e95f514.5341fc",
+                "95f559b6.afb318",
+                "983471bb.6920f",
+                "424890ee.daa33",
+                "e118a9e4.09bbf8",
+                "fedbef6e.9dc7a",
+                "723fb390.b4b4fc"
+            ]
+        ]
+    },
+    {
+        "id": "4e95f514.5341fc",
+        "type": "execute",
+        "name": "excute:readProperties",
+        "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\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1341.5003204345703,
+        "y": 398.1111755371094,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "95f559b6.afb318",
+        "type": "call",
+        "name": "call:validate-bbs-network-input-parameters",
+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1415.5003204345703,
+        "y": 182.00000476837158,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "fedbef6e.9dc7a",
+        "type": "execute",
+        "name": "execute:createAccessConnectivityService",
+        "xml": "<execute plugin=\"org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode\" method=\"sendRequest\">\n    <parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/bbs-access-connectivity-create.json'`\" />\n    <parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`\" />\n    <parameter name=\"contentType\" value=\"application/json\"/>\n    <parameter name=\"httpMethod\" value=\"post\"/>\n    <parameter name=\"responsePrefix\" value=\"service-result\"/>\n    <parameter name=\"customHttpHeaders\" value=\"`'X-Auth-Token=' + $prop.sdncRestApi.token_id`\"/>\n    <parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.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": 1424.1510467529297,
+        "y": 922.9608020782471,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "1e3eeee0.ada741",
+                "b6d7fd8.04aea"
+            ]
+        ]
+    },
+    {
+        "id": "1e3eeee0.ada741",
+        "type": "outcome",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1734.4839401245117,
+        "y": 997.9608039855957,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "f3966fd0.78da2"
+            ]
+        ]
+    },
+    {
+        "id": "b6d7fd8.04aea",
+        "type": "outcome",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1725.4840278625488,
+        "y": 922.9608020782471,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "1dd43d47.6553e3"
+            ]
+        ]
+    },
+    {
+        "id": "723fb390.b4b4fc",
+        "type": "execute",
+        "name": "execute:querryTokenID",
+        "xml": " <execute plugin=\"org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode\" method=\"sendRequest\">\n    <parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/bbs-token-template.json'`\"/>\n    <parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`\"/>\n    <parameter name=\"format\" value=\"json\"/>\n    <parameter name=\"httpMethod\" value=\"put\"/>\n    <parameter name=\"responsePrefix\" value=\"token-result\"/>\n    <parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.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\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1352.500576019287,
+        "y": 747.000186920166,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "7cf66799.d744a8",
+                "c263919e.a1402"
+            ]
+        ]
+    },
+    {
+        "id": "c263919e.a1402",
+        "type": "outcome",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1652.6673698425293,
+        "y": 744.2501883506775,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "779dec10.3fa0e4"
+            ]
+        ]
+    },
+    {
+        "id": "7cf66799.d744a8",
+        "type": "outcome",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1845.6674880981445,
+        "y": 822.250186920166,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "1dd43d47.6553e3"
+            ]
+        ]
+    },
+    {
+        "id": "1dd43d47.6553e3",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error executing Get token rest api\" />\n",
+        "comments": "",
+        "x": 2234.417640686035,
+        "y": 923.2503499984741,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "6d927619.f2a628",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2024.5006675720215,
+        "y": 816.0003490447998,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "1dd43d47.6553e3"
+            ]
+        ]
+    },
+    {
+        "id": "779dec10.3fa0e4",
+        "type": "switchNode",
+        "name": "switch:token ",
+        "xml": "<switch test='`$token-result.accessSession`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1842.500545501709,
+        "y": 743.0001888275146,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "6d927619.f2a628",
+                "5f896a8b.ae7194"
+            ]
+        ]
+    },
+    {
+        "id": "5f896a8b.ae7194",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2029.5005531311035,
+        "y": 742.0001859664917,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "99e97b64.61ea78"
+            ]
+        ]
+    },
+    {
+        "id": "99e97b64.61ea78",
+        "type": "set",
+        "name": "set:token-id",
+        "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />\n",
+        "comments": "",
+        "x": 2240.000560760498,
+        "y": 742.250186920166,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "983471bb.6920f",
+        "type": "set",
+        "name": "set:variables",
+        "xml": "<set>\n<parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://swisscom.onap.inhuawei.com:26335' />\n<parameter name='prop.bbs.HsiPackage' value='50M' />\n<parameter name='prop.bbs.HsiType' value='IPoE' />\n",
+        "comments": "",
+        "x": 1314.5008506774902,
+        "y": 288.0002107620239,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "2cc6bd19.ab2f32",
+        "type": "record",
+        "name": "log file",
+        "xml": " <record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n    <parameter name=\"file\" value=\"/opt/oak/logx.txt\" />\n    <parameter name=\"field1\" value=\"__TIMESTAMP__\" />\n    <parameter name=\"field2\" value=\"`$prop.bbs.accessID`\" />\n    <parameter name=\"field3\" value=\"`$prop.bbs.ONTSN`\" />\n    <parameter name=\"field4\" value=\"`$prop.bbs.CVLAN`\" />\n    <parameter name=\"field5\" value=\"`$prop.bbs.SVLAN`\" />\n    <parameter name=\"field6\" value=\"`$prop.bbs.HsiPackage`\" />\n    <parameter name=\"field7\" value=\"`$prop.bbs.HsiType`\" />",
+        "comments": "",
+        "outputs": 1,
+        "x": 1292.5006484985352,
+        "y": 556.0001792907715,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "173959a3.be4fe6",
+        "type": "record",
+        "name": "log file",
+        "xml": " <record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n    <parameter name=\"file\" value=\"/opt/oak/logx.txt\" />\n    <parameter name=\"field1\" value=\"createAccessConnectivityService success!\" />\n    <parameter name=\"field2\" value=\"`$service-result.accessE2Eservice.serviceID`\" />\n    ",
+        "comments": "",
+        "outputs": 1,
+        "x": 2563.500068664551,
+        "y": 1083.0000324249268,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "f3966fd0.78da2",
+        "type": "switchNode",
+        "name": "switch:service-result",
+        "xml": "<switch test=\"`$service-result.errors.error[0].error-message`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1969.5000610351562,
+        "y": 997.0000991821289,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "f5e2fc15.e5fc2",
+                "1933683f.76be88"
+            ]
+        ]
+    },
+    {
+        "id": "f5e2fc15.e5fc2",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2195.500400543213,
+        "y": 998.0001926422119,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "4dab1db0.0ecf64"
+            ]
+        ]
+    },
+    {
+        "id": "1933683f.76be88",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2205.5001068115234,
+        "y": 1084.0000591278076,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "4496d8e0.3fa648"
+            ]
+        ]
+    },
+    {
+        "id": "44c00950.df1618",
+        "type": "record",
+        "name": "log error",
+        "xml": " <record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n    <parameter name=\"file\" value=\"/opt/oak/logx.txt\" />\n    <parameter name=\"field1\" value=\"createAccessConnectivityService falied!\" />\n    <parameter name=\"field2\" value=\"`$service-result.errors.error[0].error-info.error-code`\" />\n    <parameter name=\"field3\" value=\"`$service-result.errors.error[0].error-message`\" />\n    <parameter name=\"field4\" value=\"`$service-result.errors.error[0].error-tag`\" />\n    ",
+        "comments": "",
+        "outputs": 1,
+        "x": 2698.500556945801,
+        "y": 1000.0001926422119,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "38713ccb.cc7554",
+        "type": "save",
+        "name": "save:serviceID",
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='cp' key='$ltp.ltp-role = \"UNI\" AND cp.pon-uni.oltName = $ltp.ne-id' >\n<parameter name=\"cp.pon-uni.oltName\" value=\"`$ltp.ne-id`\"/>\n<parameter name=\"xxx.serviceID\" value=\"`$service-result.accessE2Eservice.serviceID`\"/>",
+        "comments": "",
+        "outputs": 1,
+        "x": 2768.5003967285156,
+        "y": 1086.0002756118774,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "e118a9e4.09bbf8",
+        "type": "for",
+        "name": "for:network-input-paramters",
+        "xml": "<for index='idx' start='0' end='`$network-input-parameters.param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1358.0006866455078,
+        "y": 497.00017738342285,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "7e281c4.73218e4"
+            ]
+        ]
+    },
+    {
+        "id": "96ad937a.4c8ed",
+        "type": "switchNode",
+        "name": "switch:accessID",
+        "xml": "<switch test=\"`$network-input-parameters.param[$idx].name == 'accessID'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1779.000659942627,
+        "y": 294.00020027160645,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "6420de27.c79da"
+            ]
+        ]
+    },
+    {
+        "id": "6420de27.c79da",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1947.0005798339844,
+        "y": 294.00017166137695,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "56e09421.b99cfc"
+            ]
+        ]
+    },
+    {
+        "id": "827faee2.62b61",
+        "type": "set",
+        "name": "set:accessID",
+        "xml": "<set>\n<parameter name='prop.bbs.accessID' value='`$network-input-parameters.param[$idx].value`' />\n",
+        "comments": "",
+        "x": 2517.0003356933594,
+        "y": 292.6001777648926,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "7e281c4.73218e4",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1569.000732421875,
+        "y": 495.0002145767212,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "96ad937a.4c8ed",
+                "a0441e4c.12a32",
+                "409981ac.caf34",
+                "402634ee.c9d2ec"
+            ]
+        ]
+    },
+    {
+        "id": "a0441e4c.12a32",
+        "type": "switchNode",
+        "name": "switch:ONTSN",
+        "xml": "<switch test=\"`$network-input-parameters.param[$idx].name == 'ONTSN'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1778.8524551391602,
+        "y": 355.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "db7da2f9.db5f7"
+            ]
+        ]
+    },
+    {
+        "id": "db7da2f9.db5f7",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1945.8523578643799,
+        "y": 355.0002660751343,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "57debd41.98bbf4"
+            ]
+        ]
+    },
+    {
+        "id": "4de1ae6e.627d3",
+        "type": "set",
+        "name": "set:ONTSN",
+        "xml": "<set>\n<parameter name='prop.bbs.ONTSN' value='`$network-input-parameters.param[$idx].value`' />\n",
+        "comments": "",
+        "x": 2515.852642059326,
+        "y": 354.6002426147461,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "409981ac.caf34",
+        "type": "switchNode",
+        "name": "switch:CVLAN",
+        "xml": "<switch test=\"`$network-input-parameters.param[$idx].name == 'CVLAN'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1778.8525276184082,
+        "y": 415.00025177001953,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "98222b2b.1be258"
+            ]
+        ]
+    },
+    {
+        "id": "98222b2b.1be258",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1945.8523864746094,
+        "y": 415.0002632141113,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "1a88c40e.919bec"
+            ]
+        ]
+    },
+    {
+        "id": "af00f8ef.c77b28",
+        "type": "set",
+        "name": "set:CVLAN",
+        "xml": "<set>\n<parameter name='prop.bbs.CVLAN' value='`$network-input-parameters.param[$idx].value`' />\n",
+        "comments": "",
+        "x": 2513.8523864746094,
+        "y": 415.6002388000488,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "402634ee.c9d2ec",
+        "type": "switchNode",
+        "name": "switch:SVLAN",
+        "xml": "<switch test=\"`$network-input-parameters.param[$idx].name == 'SVLAN'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1775.8525352478027,
+        "y": 491.22251892089844,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "640c1f16.f13d"
+            ]
+        ]
+    },
+    {
+        "id": "640c1f16.f13d",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1948.8524198532104,
+        "y": 490.2225170135498,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "9452bbef.1a7198"
+            ]
+        ]
+    },
+    {
+        "id": "7fc6d5a6.6ec01c",
+        "type": "set",
+        "name": "set:SVLAN",
+        "xml": "<set>\n<parameter name='prop.bbs.SVLAN' value='`$network-input-parameters.param[$idx].value`' />\n",
+        "comments": "",
+        "x": 2519.8523864746094,
+        "y": 489.8225288391113,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "56e09421.b99cfc",
+        "type": "switchNode",
+        "name": "switch:acceccID value",
+        "xml": "<switch test='`$network-input-parameters.param[$idx].value`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2126.0005798339844,
+        "y": 293.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "894b7143.02cc3",
+                "7eedfab0.187154"
+            ]
+        ]
+    },
+    {
+        "id": "7eedfab0.187154",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2332.0005798339844,
+        "y": 292.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "827faee2.62b61"
+            ]
+        ]
+    },
+    {
+        "id": "894b7143.02cc3",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2330.000988006592,
+        "y": 223.00018119812012,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "4f3170f0.17c66"
+            ]
+        ]
+    },
+    {
+        "id": "57debd41.98bbf4",
+        "type": "switchNode",
+        "name": "switch:ONTSN value",
+        "xml": "<switch test='`$network-input-parameters.param[$idx].value`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2126.0005798339844,
+        "y": 355.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "894b7143.02cc3",
+                "4b80652a.e00c7c"
+            ]
+        ]
+    },
+    {
+        "id": "4b80652a.e00c7c",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2334.0005798339844,
+        "y": 355.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "4de1ae6e.627d3"
+            ]
+        ]
+    },
+    {
+        "id": "1a88c40e.919bec",
+        "type": "switchNode",
+        "name": "switch:CVLAN value",
+        "xml": "<switch test='`$network-input-parameters.param[$idx].value`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2129.0005798339844,
+        "y": 416.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "894b7143.02cc3",
+                "798d2c51.91beb4"
+            ]
+        ]
+    },
+    {
+        "id": "798d2c51.91beb4",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2335.0005798339844,
+        "y": 415.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "af00f8ef.c77b28"
+            ]
+        ]
+    },
+    {
+        "id": "9452bbef.1a7198",
+        "type": "switchNode",
+        "name": "switch:SVLAN value",
+        "xml": "<switch test='`$network-input-parameters.param[$idx].value`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2130.0005798339844,
+        "y": 490.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "894b7143.02cc3",
+                "acd0ac82.71cb3"
+            ]
+        ]
+    },
+    {
+        "id": "acd0ac82.71cb3",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2338.0005798339844,
+        "y": 491.0002021789551,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            [
+                "7fc6d5a6.6ec01c"
+            ]
+        ]
+    },
+    {
+        "id": "4f3170f0.17c66",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-create\" />\n",
+        "comments": "",
+        "x": 2518.001079559326,
+        "y": 221.00018119812012,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "424890ee.daa33",
+        "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": 1326.9999923706055,
+        "y": 1098.000036239624,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    },
+    {
+        "id": "4496d8e0.3fa648",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 2363.666736602783,
+        "y": 1085.0000343322754,
+        "z": "f55e2a79.4bc078",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "4dab1db0.0ecf64",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"`'Error createAccessConnectivityService failed: '+$service-result.errors.error[0].error-message`\" />\n\n",
+        "comments": "",
+        "x": 2382.000068664551,
+        "y": 998.0000295639038,
+        "z": "f55e2a79.4bc078",
+        "wires": []
+    }
+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.json
new file mode 100644 (file)
index 0000000..6e56cc6
--- /dev/null
@@ -0,0 +1,545 @@
+[
+    {
+        "id": "9258ad5d.d05ba",
+        "type": "dgstart",
+        "name": "DGSTART",
+        "outputs": 1,
+        "x": 289.50011825561523,
+        "y": 436.0000114440918,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "377de850.27cec8"
+            ]
+        ]
+    },
+    {
+        "id": "377de850.27cec8",
+        "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": 677.5,
+        "y": 436.0000162124634,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "7334f5ac.b08f4c"
+            ]
+        ]
+    },
+    {
+        "id": "7334f5ac.b08f4c",
+        "type": "method",
+        "name": "method:bbs-access-connectivity-network-topology-operation-delete-huawei",
+        "xml": "<method rpc='bbs-access-connectivity-network-topology-operation-delete-huawei' mode='sync'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 640.5,
+        "y": 555.0000162124634,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "a88453d9.f253b"
+            ]
+        ]
+    },
+    {
+        "id": "a88453d9.f253b",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1038.5001068115234,
+        "y": 554.0000162124634,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "cb91ee20.76b95",
+                "ca9aad5d.392e5",
+                "c4485241.e819a",
+                "c4d9d4a8.396518",
+                "2637d1ad.97175e",
+                "bc596678.34ee28",
+                "c3d1b49e.311728"
+            ]
+        ]
+    },
+    {
+        "id": "cb91ee20.76b95",
+        "type": "execute",
+        "name": "excute:readProperties",
+        "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\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1480.5004043579102,
+        "y": 408.11109733581543,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "bc596678.34ee28",
+        "type": "for",
+        "name": "for:network-input-paramters",
+        "xml": "<for index='idx' start='0' end='`$network-input-parameters.param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1484.5004272460938,
+        "y": 629.999942779541,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "e67c3291.c9f3e"
+            ]
+        ]
+    },
+    {
+        "id": "2637d1ad.97175e",
+        "type": "execute",
+        "name": "execute:querryTokenID",
+        "xml": " <execute plugin=\"org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode\" method=\"sendRequest\">\n    <parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/bbs-token-template.json'`\"/>\n    <parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`\"/>\n    <parameter name=\"format\" value=\"json\"/>\n    <parameter name=\"httpMethod\" value=\"put\"/>\n    <parameter name=\"responsePrefix\" value=\"token-result\"/>\n    <parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.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\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1475.5004272460938,
+        "y": 540.0000190734863,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "3ddf50e9.7ad19",
+                "6fb4fdec.445914"
+            ]
+        ]
+    },
+    {
+        "id": "6fb4fdec.445914",
+        "type": "outcome",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1774.6670532226562,
+        "y": 536.2500190734863,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "bb09478d.013828"
+            ]
+        ]
+    },
+    {
+        "id": "3ddf50e9.7ad19",
+        "type": "outcome",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1770.6670532226562,
+        "y": 430.2499885559082,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "cafa7f31.58fb9"
+            ]
+        ]
+    },
+    {
+        "id": "cafa7f31.58fb9",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error executing Get token rest api\" />\n",
+        "comments": "",
+        "x": 2341.4171752929688,
+        "y": 422.2499885559082,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "b7ad2681.5938c8",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2141.5004348754883,
+        "y": 478.9999752044678,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "cafa7f31.58fb9"
+            ]
+        ]
+    },
+    {
+        "id": "bb09478d.013828",
+        "type": "switchNode",
+        "name": "switch:token ",
+        "xml": "<switch test='`$token-result.accessSession`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1973.5004348754883,
+        "y": 536.9999752044678,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "b7ad2681.5938c8",
+                "c64cc196.0b01"
+            ]
+        ]
+    },
+    {
+        "id": "c64cc196.0b01",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2142.5004348754883,
+        "y": 535.9999752044678,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "4a6b446f.138e7c"
+            ]
+        ]
+    },
+    {
+        "id": "4a6b446f.138e7c",
+        "type": "set",
+        "name": "set:token-id",
+        "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />\n",
+        "comments": "",
+        "x": 2317.0004272460938,
+        "y": 535.2500190734863,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "69330fca.c0655",
+        "type": "record",
+        "name": "log file",
+        "xml": " <record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n    <parameter name=\"file\" value=\"/opt/oak/logx.txt\" />\n    <parameter name=\"field1\" value=\"__TIMESTAMP__\" />\n    <parameter name=\"field2\" value=\"sucess executing Get token rest api\" />\n    <parameter name=\"field3\" value=\"`$token-result.accessSession`\" />\n    ",
+        "comments": "",
+        "outputs": 1,
+        "x": 2528.5004272460938,
+        "y": 532.9999580383301,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "c4d9d4a8.396518",
+        "type": "set",
+        "name": "set:variables",
+        "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://swisscom.onap.inhuawei.com:26335' />\n<parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />\n",
+        "comments": "",
+        "x": 1446.5004043579102,
+        "y": 328.0001735687256,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "c3d1b49e.311728",
+        "type": "execute",
+        "name": "execute:deleteAccessConnectivityService",
+        "xml": "<execute plugin=\"org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode\" method=\"sendRequest\">\n    <parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/DeactivateOnt?serviceID='+$prop.bbs.serviceID`\" />\n    <parameter name=\"httpMethod\" value=\"get\"/>\n    <parameter name=\"contentType\" value=\"application/x-www-form-urlencoded\"/>\n    <parameter name=\"responsePrefix\" value=\"service-result\"/>\n    <parameter name=\"customHttpHeaders\" value=\"`'X-Auth-Token=' + $prop.sdncRestApi.token_id`\"/>\n    <parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.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": 1536.500690460205,
+        "y": 810.0001218318939,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "5321d4ef.5d4d2c",
+                "d9cf5692.a52db8"
+            ]
+        ]
+    },
+    {
+        "id": "5321d4ef.5d4d2c",
+        "type": "outcome",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1841.5007057189941,
+        "y": 750.0001029968262,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "b0348a26.8427e8"
+            ]
+        ]
+    },
+    {
+        "id": "d9cf5692.a52db8",
+        "type": "outcome",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1841.5006790161133,
+        "y": 809.0001027584076,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "de1193ab.e5312"
+            ]
+        ]
+    },
+    {
+        "id": "1e90d7c8.353078",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2327.500789642334,
+        "y": 706.0000369548798,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "b0348a26.8427e8"
+            ]
+        ]
+    },
+    {
+        "id": "b0348a26.8427e8",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-delete\" />\n",
+        "comments": "",
+        "x": 2531.5006313323975,
+        "y": 745.0000369548798,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "e67c3291.c9f3e",
+        "type": "switchNode",
+        "name": "switch:serviceID",
+        "xml": "<switch test=\"`$network-input-parameters.param[$idx].name == 'serviceID'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1759.5004539489746,
+        "y": 629.0000305175781,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "fb75295a.8000b8"
+            ]
+        ]
+    },
+    {
+        "id": "fb75295a.8000b8",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1932.5003385543823,
+        "y": 628.0000286102295,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "c27015c2.2e9f58"
+            ]
+        ]
+    },
+    {
+        "id": "7c852ec3.9bf23",
+        "type": "set",
+        "name": "set:serviceID",
+        "xml": "<set>\n<parameter name='prop.bbs.serviceID' value='`$network-input-parameters.param[$idx].value`' />\n",
+        "comments": "",
+        "x": 2503.5003051757812,
+        "y": 627.600040435791,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "c27015c2.2e9f58",
+        "type": "switchNode",
+        "name": "switch:serviceID value",
+        "xml": "<switch test='`$network-input-parameters.param[$idx].value`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2113.6484985351562,
+        "y": 627.7777137756348,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "9c90b9c1.bc3cb8",
+                "1e90d7c8.353078"
+            ]
+        ]
+    },
+    {
+        "id": "9c90b9c1.bc3cb8",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2321.6484985351562,
+        "y": 628.7777137756348,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "7c852ec3.9bf23"
+            ]
+        ]
+    },
+    {
+        "id": "ca9aad5d.392e5",
+        "type": "call",
+        "name": "call:validate-bbs-network-input-parameters",
+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1558.0000305175781,
+        "y": 247.00002479553223,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "477b70c6.2a5c9",
+        "type": "record",
+        "name": "log file",
+        "xml": " <record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n    <parameter name=\"file\" value=\"/opt/oak/logx.txt\" />\n    <parameter name=\"field1\" value=\"deleteAccessConnectivityService success!\" />\n    <parameter name=\"field2\" value=\"`$service-result.accessE2Eservice.serviceID`\" />\n    ",
+        "comments": "",
+        "outputs": 1,
+        "x": 2885.0005645751953,
+        "y": 911.0001068115234,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "de1193ab.e5312",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 2018.0004768371582,
+        "y": 810.0002808570862,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "754aabd8.cabdb4"
+            ]
+        ]
+    },
+    {
+        "id": "754aabd8.cabdb4",
+        "type": "switchNode",
+        "name": "switch:service-result",
+        "xml": "<switch test=\"`$service-result.errors.error[0].error-message`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2236.0003547668457,
+        "y": 809.0001282691956,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "2dd16d0d.e63022",
+                "c62a673d.9cf0e8"
+            ]
+        ]
+    },
+    {
+        "id": "2dd16d0d.e63022",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2470.000400543213,
+        "y": 810.0000882148743,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "6c15beca.e4e8a"
+            ]
+        ]
+    },
+    {
+        "id": "c62a673d.9cf0e8",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2472.000400543213,
+        "y": 896.0000882148743,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            [
+                "c04ee5c.68b7018"
+            ]
+        ]
+    },
+    {
+        "id": "5e21416c.565be",
+        "type": "record",
+        "name": "log error",
+        "xml": " <record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n    <parameter name=\"file\" value=\"/opt/oak/logx.txt\" />\n    <parameter name=\"field1\" value=\"deleteAccessConnectivityService falied!\" />\n    <parameter name=\"field2\" value=\"`$service-result.errors.error[0].error-info.error-code`\" />\n    <parameter name=\"field3\" value=\"`$service-result.errors.error[0].error-message`\" />\n    <parameter name=\"field4\" value=\"`$service-result.errors.error[0].error-tag`\" />\n    ",
+        "comments": "",
+        "outputs": 1,
+        "x": 2910.0005645751953,
+        "y": 797.0001049041748,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "c4485241.e819a",
+        "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": 1438.000244140625,
+        "y": 948.0000305175781,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "6c15beca.e4e8a",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"`'Error deleteAccessConnectivityService failed: '+$service-result.errors.error[0].error-message`\" />\n\n",
+        "comments": "",
+        "x": 2670.0000762939453,
+        "y": 810.0000228881836,
+        "z": "828aeb02.de4ff8",
+        "wires": []
+    },
+    {
+        "id": "c04ee5c.68b7018",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 2656.0000762939453,
+        "y": 898.0000267028809,
+        "z": "828aeb02.de4ff8",
+        "wires": [
+            []
+        ]
+    }
+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.json
new file mode 100644 (file)
index 0000000..d64a564
--- /dev/null
@@ -0,0 +1,504 @@
+[
+    {
+        "id": "d045979f.3719e8",
+        "type": "dgstart",
+        "name": "DGSTART",
+        "outputs": 1,
+        "x": 124,
+        "y": 188,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "8d3f3543.6c42e8"
+            ]
+        ]
+    },
+    {
+        "id": "8d3f3543.6c42e8",
+        "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": 394,
+        "y": 188,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "3f8a94c6.a0a66c"
+            ]
+        ]
+    },
+    {
+        "id": "3f8a94c6.a0a66c",
+        "type": "method",
+        "name": "method:validate-bbs-network-input-parameters",
+        "xml": "<method rpc='validate-bbs-network-input-parameters' mode='sync'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 785.9998779296875,
+        "y": 188,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "1e5fc75a.b61f49"
+            ]
+        ]
+    },
+    {
+        "id": "1e5fc75a.b61f49",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 497,
+        "y": 275.00001525878906,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "4a6bc0d8.329b8"
+            ]
+        ]
+    },
+    {
+        "id": "4a6bc0d8.329b8",
+        "type": "switchNode",
+        "name": "switch:svc-action",
+        "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 482.00000762939453,
+        "y": 369.00000762939453,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "482e0838.ec1d68",
+                "96e69929.afbb48",
+                "d6f2cc10.9d71b",
+                "fad55640.134b28",
+                "f069bb63.bbd458"
+            ]
+        ]
+    },
+    {
+        "id": "482e0838.ec1d68",
+        "type": "outcome",
+        "name": "create",
+        "xml": "<outcome value='create'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 704,
+        "y": 369.0000305175781,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "8fc78fa0.182da"
+            ]
+        ]
+    },
+    {
+        "id": "96e69929.afbb48",
+        "type": "outcome",
+        "name": "delete",
+        "xml": "<outcome value='delete'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 703,
+        "y": 433,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "85d15bba.4297b8"
+            ]
+        ]
+    },
+    {
+        "id": "d6f2cc10.9d71b",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 690.0000343322754,
+        "y": 738.0000343322754,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "7cf97256.70f88c"
+            ]
+        ]
+    },
+    {
+        "id": "8fc78fa0.182da",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 930.3333358764648,
+        "y": 368.00002670288086,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "b2fd3772.24cfb8"
+            ]
+        ]
+    },
+    {
+        "id": "85d15bba.4297b8",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 930.3333358764648,
+        "y": 432.00000858306885,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "d36a1fc8.b9675"
+            ]
+        ]
+    },
+    {
+        "id": "b2fd3772.24cfb8",
+        "type": "switchNode",
+        "name": "switch:request-action",
+        "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1142.333339691162,
+        "y": 367.00000762939453,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "1c7784fc.a4c1eb",
+                "8bd1d68a.0c8288",
+                "da93535.10b02b"
+            ]
+        ]
+    },
+    {
+        "id": "d36a1fc8.b9675",
+        "type": "switchNode",
+        "name": "switch:request-action",
+        "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1141.3333435058594,
+        "y": 431.00000858306885,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "1c7784fc.a4c1eb",
+                "81a3a010.345d7",
+                "11996730.5866f9"
+            ]
+        ]
+    },
+    {
+        "id": "1c7784fc.a4c1eb",
+        "type": "outcome",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1432.3333740234375,
+        "y": 575.0000162124634,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "2f3d74cb.5ebd0c"
+            ]
+        ]
+    },
+    {
+        "id": "8bd1d68a.0c8288",
+        "type": "outcome",
+        "name": "CreateAccessConnectivityInstance",
+        "xml": "<outcome value='CreateAccessConnectivityInstance'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1495.0000457763672,
+        "y": 279.00000762939453,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "a82faec.9ceee5"
+            ]
+        ]
+    },
+    {
+        "id": "da93535.10b02b",
+        "type": "outcome",
+        "name": "CreateInternetProfileInstance",
+        "xml": "<outcome value='CreateInternetProfileInstance'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1473.0000457763672,
+        "y": 349.00000953674316,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "506c0969.c19a98"
+            ]
+        ]
+    },
+    {
+        "id": "81a3a010.345d7",
+        "type": "outcome",
+        "name": "DeleteAccessConnectivityInstance",
+        "xml": "<outcome value='DeleteAccessConnectivityInstance'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1486.0000457763672,
+        "y": 431.00001335144043,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "ce6760e0.df132"
+            ]
+        ]
+    },
+    {
+        "id": "cbd80c8f.d9e71",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"svc-action is null\" />\n\n",
+        "comments": "",
+        "x": 909.6667060852051,
+        "y": 801.0000228881836,
+        "z": "fc0675dc.b60ce8",
+        "wires": []
+    },
+    {
+        "id": "2f3d74cb.5ebd0c",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error invalid request-action\" />\n\n",
+        "comments": "",
+        "x": 1783.6667137145996,
+        "y": 571.0000219345093,
+        "z": "fc0675dc.b60ce8",
+        "wires": []
+    },
+    {
+        "id": "506c0969.c19a98",
+        "type": "switchNode",
+        "name": "switch:param_length",
+        "xml": "<switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1787.0000534057617,
+        "y": 348.00000953674316,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "e77456a.57d2ea8"
+            ]
+        ]
+    },
+    {
+        "id": "a82faec.9ceee5",
+        "type": "switchNode",
+        "name": "switch:param_length",
+        "xml": "<switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1781.0000457763672,
+        "y": 279.0000047683716,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "e77456a.57d2ea8"
+            ]
+        ]
+    },
+    {
+        "id": "e77456a.57d2ea8",
+        "type": "outcome",
+        "name": "null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2119.0000610351562,
+        "y": 363.00000953674316,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "acdaf629.bd5418"
+            ]
+        ]
+    },
+    {
+        "id": "ce6760e0.df132",
+        "type": "switchNode",
+        "name": "switch:param_length",
+        "xml": "<switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1791.0000495910645,
+        "y": 431.0000114440918,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "e77456a.57d2ea8"
+            ]
+        ]
+    },
+    {
+        "id": "acdaf629.bd5418",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error invalid request-action\" />\n\n",
+        "comments": "",
+        "x": 2301.0000610351562,
+        "y": 363.00001335144043,
+        "z": "fc0675dc.b60ce8",
+        "wires": []
+    },
+    {
+        "id": "fad55640.134b28",
+        "type": "outcome",
+        "name": "null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 688.0000190734863,
+        "y": 801.0000228881836,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "cbd80c8f.d9e71"
+            ]
+        ]
+    },
+    {
+        "id": "7cf97256.70f88c",
+        "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": 912.0000190734863,
+        "y": 739.0000228881836,
+        "z": "fc0675dc.b60ce8",
+        "wires": []
+    },
+    {
+        "id": "11996730.5866f9",
+        "type": "outcome",
+        "name": "DeleteInternetProfileInstance",
+        "xml": "<outcome value='DeleteInternetProfileInstance'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1475.0000457763672,
+        "y": 499.00001525878906,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "bdd985a1.b57348"
+            ]
+        ]
+    },
+    {
+        "id": "bdd985a1.b57348",
+        "type": "switchNode",
+        "name": "switch:param_length",
+        "xml": "<switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1799.0000495910645,
+        "y": 498.0000157356262,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "e77456a.57d2ea8"
+            ]
+        ]
+    },
+    {
+        "id": "f069bb63.bbd458",
+        "type": "outcome",
+        "name": "change",
+        "xml": "<outcome value='change'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 707.0000190734863,
+        "y": 634.000018119812,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "44f31586.32dc9c"
+            ]
+        ]
+    },
+    {
+        "id": "44f31586.32dc9c",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 924.0000228881836,
+        "y": 634.0000171661377,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "892c807b.e3bd"
+            ]
+        ]
+    },
+    {
+        "id": "892c807b.e3bd",
+        "type": "switchNode",
+        "name": "switch:request-action",
+        "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1138.0000305175781,
+        "y": 634.0000171661377,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "a891bcca.f40e3",
+                "1c7784fc.a4c1eb"
+            ]
+        ]
+    },
+    {
+        "id": "a891bcca.f40e3",
+        "type": "outcome",
+        "name": "ChangeInternetProfileInstance",
+        "xml": "<outcome value='ChangeInternetProfileInstance'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1478.6667938232422,
+        "y": 634.0000190734863,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "fb90f1b4.602af"
+            ]
+        ]
+    },
+    {
+        "id": "fb90f1b4.602af",
+        "type": "switchNode",
+        "name": "switch:param_length",
+        "xml": "<switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1785.6667175292969,
+        "y": 632.0000190734863,
+        "z": "fc0675dc.b60ce8",
+        "wires": [
+            [
+                "e77456a.57d2ea8"
+            ]
+        ]
+    }
+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.xml
new file mode 100644 (file)
index 0000000..c7374be
--- /dev/null
@@ -0,0 +1,167 @@
+<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='bbs-access-connectivity-network-topology-operation-create-huawei' mode='sync'>
+        <block atomic="true">
+            <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' ></call>
+            <set>
+                <parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />
+                <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://swisscom.onap.inhuawei.com:26335' />
+                <parameter name='prop.bbs.HsiPackage' value='50M' />
+                <parameter name='prop.bbs.HsiType' value='IPoE' />
+            </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>
+            <for index='idx' start='0' end='`$network-input-parameters.param_length`' >
+                <block>
+                    <switch test="`$network-input-parameters.param[$idx].name == 'accessID'`">
+                        <outcome value='true'>
+                            <switch test='`$network-input-parameters.param[$idx].value`'>
+                                <outcome value=''>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-create" />
+                                    </return>
+                                </outcome>
+                                <outcome value='Other'>
+                                    <set>
+                                        <parameter name='prop.bbs.accessID' value='`$network-input-parameters.param[$idx].value`' />
+                                    </set>
+                                </outcome>
+                            </switch>
+                        </outcome>
+                    </switch>
+                    <switch test="`$network-input-parameters.param[$idx].name == 'ONTSN'`">
+                        <outcome value='true'>
+                            <switch test='`$network-input-parameters.param[$idx].value`'>
+                                <outcome value=''>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-create" />
+                                    </return>
+                                </outcome>
+                                <outcome value='Other'>
+                                    <set>
+                                        <parameter name='prop.bbs.ONTSN' value='`$network-input-parameters.param[$idx].value`' />
+                                    </set>
+                                </outcome>
+                            </switch>
+                        </outcome>
+                    </switch>
+                    <switch test="`$network-input-parameters.param[$idx].name == 'CVLAN'`">
+                        <outcome value='true'>
+                            <switch test='`$network-input-parameters.param[$idx].value`'>
+                                <outcome value=''>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-create" />
+                                    </return>
+                                </outcome>
+                                <outcome value='Other'>
+                                    <set>
+                                        <parameter name='prop.bbs.CVLAN' value='`$network-input-parameters.param[$idx].value`' />
+                                    </set>
+                                </outcome>
+                            </switch>
+                        </outcome>
+                    </switch>
+                    <switch test="`$network-input-parameters.param[$idx].name == 'SVLAN'`">
+                        <outcome value='true'>
+                            <switch test='`$network-input-parameters.param[$idx].value`'>
+                                <outcome value=''>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-create" />
+                                    </return>
+                                </outcome>
+                                <outcome value='Other'>
+                                    <set>
+                                        <parameter name='prop.bbs.SVLAN' value='`$network-input-parameters.param[$idx].value`' />
+                                    </set>
+                                </outcome>
+                            </switch>
+                        </outcome>
+                    </switch>
+                </block>
+            </for>
+            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>
+                <parameter name="format" value="json"/>
+                <parameter name="httpMethod" value="put"/>
+                <parameter name="responsePrefix" value="token-result"/>
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
+                <parameter name="trustStorePassword" value="adminadmin"/>
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+                <parameter name="keyStorePassword" value="adminadmin"/>
+                <outcome value='success'>
+                    <switch test='`$token-result.accessSession`'>
+                        <outcome value='Other'>
+                            <set>
+                                <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />
+                            </set>
+                        </outcome>
+                        <outcome value=''>
+                            <return status='failure'>
+                                <parameter name='ack-final' value='Y'/>
+                                <parameter name="error-code" value="500" />
+                                <parameter name="error-message" value="Error executing Get token rest api" />
+                            </return>
+                        </outcome>
+                    </switch>
+                </outcome>
+                <outcome value='failure'>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="Error executing Get token rest api" />
+                    </return>
+                </outcome>
+            </execute>
+            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-access-connectivity-create.json'`" />
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`" />
+                <parameter name="contentType" value="application/json"/>
+                <parameter name="httpMethod" value="post"/>
+                <parameter name="responsePrefix" value="service-result"/>
+                <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
+                <parameter name="trustStorePassword" value="adminadmin"/>
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+                <parameter name="keyStorePassword" value="adminadmin"/>
+                <outcome value='failure'>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="Error executing Get token rest api" />
+                    </return>
+                </outcome>
+                <outcome value='success'>
+                    <switch test="`$service-result.errors.error[0].error-message`">
+                        <outcome value='Other'>
+                            <return status='failure'>
+                                <parameter name='ack-final' value='Y'/>
+                                <parameter name="error-code" value="500" />
+                                <parameter name="error-message" value="`'Error createAccessConnectivityService failed: '+$service-result.errors.error[0].error-message`" />
+                            </return>
+                        </outcome>
+                        <outcome value=''>
+                            <block></block>
+                        </outcome>
+                    </switch>
+                </outcome>
+            </execute>
+            <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_bbs-access-connectivity-network-topology-operation-delete-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.xml
new file mode 100644 (file)
index 0000000..b0dc0c9
--- /dev/null
@@ -0,0 +1,110 @@
+<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='bbs-access-connectivity-network-topology-operation-delete-huawei' mode='sync'>
+        <block atomic="true">
+            <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' ></call>
+            <set>
+                <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://swisscom.onap.inhuawei.com:26335' />
+                <parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />
+            </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.plugins.restapicall.RestapiCallNode" method="sendRequest">
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>
+                <parameter name="format" value="json"/>
+                <parameter name="httpMethod" value="put"/>
+                <parameter name="responsePrefix" value="token-result"/>
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
+                <parameter name="trustStorePassword" value="adminadmin"/>
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+                <parameter name="keyStorePassword" value="adminadmin"/>
+                <outcome value='failure'>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="Error executing Get token rest api" />
+                    </return>
+                </outcome>
+                <outcome value='success'>
+                    <switch test='`$token-result.accessSession`'>
+                        <outcome value=''>
+                            <return status='failure'>
+                                <parameter name='ack-final' value='Y'/>
+                                <parameter name="error-code" value="500" />
+                                <parameter name="error-message" value="Error executing Get token rest api" />
+                            </return>
+                        </outcome>
+                        <outcome value='Other'>
+                            <set>
+                                <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />
+                            </set>
+                        </outcome>
+                    </switch>
+                </outcome>
+            </execute>
+            <for index='idx' start='0' end='`$network-input-parameters.param_length`' >
+                <switch test="`$network-input-parameters.param[$idx].name == 'serviceID'`">
+                    <outcome value='true'>
+                        <switch test='`$network-input-parameters.param[$idx].value`'>
+                            <outcome value='Other'>
+                                <set>
+                                    <parameter name='prop.bbs.serviceID' value='`$network-input-parameters.param[$idx].value`' />
+                                </set>
+                            </outcome>
+                            <outcome value=''>
+                                <return status='failure'>
+                                    <parameter name='ack-final' value='Y'/>
+                                    <parameter name="error-code" value="500" />
+                                    <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-delete" />
+                                </return>
+                            </outcome>
+                        </switch>
+                    </outcome>
+                </switch>
+            </for>
+            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/DeactivateOnt?serviceID='+$prop.bbs.serviceID`" />
+                <parameter name="httpMethod" value="get"/>
+                <parameter name="contentType" value="application/x-www-form-urlencoded"/>
+                <parameter name="responsePrefix" value="service-result"/>
+                <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
+                <parameter name="trustStorePassword" value="adminadmin"/>
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+                <parameter name="keyStorePassword" value="adminadmin"/>
+                <outcome value='failure'>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-delete" />
+                    </return>
+                </outcome>
+                <outcome value='success'>
+                    <block atomic="true">
+                        <switch test="`$service-result.errors.error[0].error-message`">
+                            <outcome value='Other'>
+                                <return status='failure'>
+                                    <parameter name='ack-final' value='Y'/>
+                                    <parameter name="error-code" value="500" />
+                                    <parameter name="error-message" value="`'Error deleteAccessConnectivityService failed: '+$service-result.errors.error[0].error-message`" />
+                                </return>
+                            </outcome>
+                            <outcome value=''>
+                                <block></block>
+                            </outcome>
+                        </switch>
+                    </block>
+                </outcome>
+            </execute>
+            <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_validate-bbs-network-input-parameters.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.xml
new file mode 100644 (file)
index 0000000..207a338
--- /dev/null
@@ -0,0 +1,118 @@
+<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-bbs-network-input-parameters' mode='sync'>
+        <block atomic="true">
+            <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='CreateAccessConnectivityInstance'>
+                                <switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>
+                                    <outcome value=''>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="Error invalid request-action" />
+                                        </return>
+                                    </outcome>
+                                </switch>
+                            </outcome>
+                            <outcome value='CreateInternetProfileInstance'>
+                                <switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>
+                                    <outcome value=''>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="Error invalid request-action" />
+                                        </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="Error invalid request-action" />
+                                </return>
+                            </outcome>
+                        </switch>
+                    </block>
+                </outcome>
+                <outcome value='delete'>
+                    <block atomic="true">
+                        <switch test='`$network-topology-operation-input.request-information.request-action`'>
+                            <outcome value='DeleteAccessConnectivityInstance'>
+                                <switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>
+                                    <outcome value=''>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="Error invalid request-action" />
+                                        </return>
+                                    </outcome>
+                                </switch>
+                            </outcome>
+                            <outcome value='DeleteInternetProfileInstance'>
+                                <switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>
+                                    <outcome value=''>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="Error invalid request-action" />
+                                        </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="Error invalid request-action" />
+                                </return>
+                            </outcome>
+                        </switch>
+                    </block>
+                </outcome>
+                <outcome value='change'>
+                    <block atomic="true">
+                        <switch test='`$network-topology-operation-input.request-information.request-action`'>
+                            <outcome value='Other'>
+                                <return status='failure'>
+                                    <parameter name='ack-final' value='Y'/>
+                                    <parameter name="error-code" value="500" />
+                                    <parameter name="error-message" value="Error invalid request-action" />
+                                </return>
+                            </outcome>
+                            <outcome value='ChangeInternetProfileInstance'>
+                                <switch test='$network-topology-operation-input.network-request-input.network-input-parameters.param_length'>
+                                    <outcome value=''>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="Error invalid request-action" />
+                                        </return>
+                                    </outcome>
+                                </switch>
+                            </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>
+                <outcome value=''>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="svc-action is null" />
+                    </return>
+                </outcome>
+            </switch>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file