Merge "Ansible playbook for vFW TD"
authorDan Timoney <dtimoney@att.com>
Thu, 4 Oct 2018 20:18:31 +0000 (20:18 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 4 Oct 2018 20:18:31 +0000 (20:18 +0000)
Former-commit-id: 5f89860d63f4dd79d5f2b97c6581358c03679aaa

69 files changed:
SdncReports/pom.xml
admportal/pom.xml
configbackuprestore/pom.xml
dgbuilder/pom.xml
installation/admportal/pom.xml
installation/ansible-server/pom.xml
installation/dgbuilder/pom.xml
installation/dmaap-listener/pom.xml
installation/pom.xml
installation/sdnc/pom.xml
installation/sdnc/src/main/resources/blueprint-processor.data.dump [new file with mode: 0644]
installation/ueb-listener/pom.xml
platform-logic/datachange/pom.xml
platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json
platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml
platform-logic/generic-resource-api/pom.xml
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-create.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-delete.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-tenant-auth.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-activate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-deactivate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.json
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-create.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-delete.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-tenant-auth.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-activate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-deactivate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.xml
platform-logic/installer/pom.xml
platform-logic/installer/src/assembly/assemble_zip.xml
platform-logic/lcm/pom.xml
platform-logic/pom.xml
platform-logic/restapi-templates/pom.xml
platform-logic/restapi-templates/src/main/json/getzteodutoponodedetailstemplate.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/getzteodutoponodenepdetailstemplate.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/getzteodutoponodetemplate.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/getzteodutopotemplate.json [new file with mode: 0644]
platform-logic/restconfapi-yang/pom.xml [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-types@2018-05-24.yang [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-inet-types.yang [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-routing-types@2017-10-13.yang [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-subscribed-notifications.yang [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-te-types@2018-07-01.yang [new file with mode: 0644]
platform-logic/restconfapi-yang/src/main/yang/ietf-yang-types.yang [new file with mode: 0644]
platform-logic/setup/pom.xml
platform-logic/vnfapi/pom.xml
pom.xml
version.properties

index 2a9e09d..96fe28c 100644 (file)
@@ -14,7 +14,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>spring-boot-1-starter-parent</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
        </parent>
        <distributionManagement>
                <repository>
index c2735a7..fa05074 100644 (file)
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>binding-parent</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
         <relativePath/>
     </parent>
 
index b3b532d..7488c1c 100644 (file)
@@ -14,7 +14,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>spring-boot-1-starter-parent</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
        </parent>
 
        <properties>
index 9029660..d375108 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
         <relativePath />
        </parent>
 
index 5f9baa3..c85ae6f 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 593c5ae..0fd0b77 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
index 6e4d772..f47303c 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 9c50fec..61d6453 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
index 9091cb3..f02b9ca 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
index 538e123..764725c 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
diff --git a/installation/sdnc/src/main/resources/blueprint-processor.data.dump b/installation/sdnc/src/main/resources/blueprint-processor.data.dump
new file mode 100644 (file)
index 0000000..9a4bd3f
--- /dev/null
@@ -0,0 +1,95 @@
+-- -----------------------------------------------------
+-- Dropping tables ( One time )
+-- -----------------------------------------------------
+
+DROP TABLE sdnctl.CONFIG_RESOURCE_ASSIGNMENT_DATA;
+DROP TABLE sdnctl.CONFIG_RESOURCE;
+DROP TABLE sdnctl.CONFIG_RESOURCE_RELATION;
+DROP TABLE sdnctl.CONFIG_TRANSACTION_LOG
+
+
+-- -----------------------------------------------------
+-- table sdnctl.CONFIG_TRANSACTION_LOG
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_TRANSACTION_LOG (
+   config_transaction_log_id  VARCHAR(50) NOT NULL,
+   request_id                 VARCHAR(50)   NULL          DEFAULT NULL,
+   message_type               VARCHAR(100)  NULL          DEFAULT NULL,
+   creation_date              DATETIME      NOT NULL      DEFAULT CURRENT_TIMESTAMP,
+   message                           LONGTEXT      NULL          DEFAULT NULL,
+   PRIMARY KEY PK_CONFIG_TRANSACTION_LOG (config_transaction_log_id)
+   ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+-- -----------------------------------------------------
+-- table sdnctl.CONFIG_RESOURCE
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_RESOURCE (
+   config_resource_id   VARCHAR(50)         NOT NULL,
+   resource_id          VARCHAR(50)   NOT NULL,
+   resource_type        VARCHAR(50)   NOT NULL,
+   service_template_name   VARCHAR(50)      NULL          DEFAULT NULL,
+   service_template_version   VARCHAR(50)      NULL          DEFAULT NULL,
+   template_name        VARCHAR(50)   NOT NULL,
+   recipe_name          VARCHAR(50)   NOT NULL,
+   request_id           VARCHAR(50)   NOT NULL,
+   resource_data        LONGTEXT      NULL          DEFAULT NULL,
+   mask_data            LONGTEXT      NULL          DEFAULT NULL,
+   created_date         DATETIME      NOT NULL      DEFAULT CURRENT_TIMESTAMP,
+   status               VARCHAR(20)   NOT NULL,
+   updated_by           VARCHAR(50)   NOT NULL,
+   PRIMARY KEY PK_CONFIG_RESOURCE (config_resource_id),
+   INDEX IX_CONFIG_RESOURCE (created_date desc)
+   ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+-- -----------------------------------------------------
+-- table sdnctl.CONFIG_RESOURCE_RELATION
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_RESOURCE_RELATION (
+   config_resource_relation_id VARCHAR(50) NOT NULL,
+   resource_id VARCHAR(50) NOT NULL,
+   related_resource_id VARCHAR(50) NOT NULL,
+   relation_type VARCHAR(50) NOT NULL DEFAULT 'children',
+   created_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+   updated_by VARCHAR(50) NOT NULL,
+   PRIMARY KEY PK_CONFIG_RESOURCE_RELATION (config_resource_relation_id),
+   INDEX IX_CONFIG_RESOURCE_RELATION (created_date desc),
+   CONSTRAINT FK_CONFIG_RESOURCE_RELATION_TO_CONFIG_RESOURCE1
+   FOREIGN KEY (resource_id)
+   REFERENCES sdnctl.CONFIG_RESOURCE (config_resource_id)
+   ON DELETE NO ACTION
+   ON UPDATE NO ACTION,
+   CONSTRAINT FK_CONFIG_RESOURCE_RELATION_TO_CONFIG_RESOURCE2
+   FOREIGN KEY (related_resource_id)
+   REFERENCES sdnctl.CONFIG_RESOURCE (config_resource_id)
+   ON DELETE NO ACTION
+   ON UPDATE NO ACTION
+   ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+-- -----------------------------------------------------
+-- table sdnctl.CONFIG_RESOURCE_ASSIGNMENT_DATA
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_RESOURCE_ASSIGNMENT_DATA (
+   config_resource_assignment_data_id VARCHAR(50) NOT NULL,
+   config_resource_id    VARCHAR(50) NOT NULL,
+   version INT(11) NOT NULL,
+   updated_date    DATETIME         NOT NULL          DEFAULT CURRENT_TIMESTAMP,
+   updated_by      VARCHAR(50)    NOT NULL,   
+   template_key_name     VARCHAR(50)    NOT NULL,
+   resource_name   VARCHAR(50)    NOT NULL,
+   data_type       VARCHAR(100)    NOT NULL,
+   entry_schema    VARCHAR(100)    NULL DEFAULT NULL,
+   resource_value  LONGTEXT         NOT NULL,
+   source   VARCHAR(50)    NOT NULL,
+   status   VARCHAR(50)    NOT NULL,
+   message  LONGTEXT         NOT NULL,
+   PRIMARY KEY PK_CONFIG_RESOURCE (config_resource_assignment_data_id),
+   INDEX IX_CONFIG_RESOURCE (updated_date desc),
+   CONSTRAINT FK_CONFIG_RESOURCE_ASSIGNMENT_DATA
+   FOREIGN KEY (config_resource_id)
+   REFERENCES sdnctl.CONFIG_RESOURCE (config_resource_id)
+   ON DELETE NO ACTION
+   ON UPDATE NO ACTION
+   ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
\ No newline at end of file
index 1a8c417..66fa812 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
index 9a296b5..35cde14 100644 (file)
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
         <relativePath />
     </parent>
 
index ccc0c00..ef45331 100644 (file)
@@ -94,7 +94,7 @@
     "id": "f4c114b8.d66028",
     "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\"/>",
+    "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.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": 1523.993263244629,
     "id": "c706e157.72486",
     "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`\" />",
+    "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.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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1527.3266906738281,
index 55c1bd3..dcab41b 100644 (file)
@@ -16,7 +16,7 @@
                                         <parameter name="format" value="json"/>\r
                                         <parameter name="httpMethod" value="get"/>\r
                                         <parameter name="responsePrefix" value="topology"/>\r
-                                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
index 759c4c0..af1d091 100644 (file)
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
         <relativePath />
     </parent>
 
index 9d4e58d..a952299 100644 (file)
@@ -88,7 +88,7 @@
     "id": "4a98e8a7.30e56",
     "type": "execute",
     "name": "execute RestApiCallNode Create IPWAN L3VPN",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/l3smvpntemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'`\" />\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=\"post\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/l3smvpntemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1111.0001831054688,
     "id": "45ed0ae2.aa3684",
     "type": "execute",
     "name": "execute RestApiCallNode IPWAN Site Config",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir +'/l3smsitetemplate.json'`\"/>\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites'`\"/>\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"site-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir +'/l3smsitetemplate.json'`\"/>\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites'`\"/>\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"site-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1096,
     "id": "d76dde.a5a8222",
     "type": "execute",
     "name": "execute RestApiCallNode IPWAN VRF Config",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir +'/l3smvrftemplate.json'`\"/>\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes'`\"/>\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vrf-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir +'/l3smvrftemplate.json'`\"/>\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes'`\"/>\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vrf-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1110,
     "id": "873707de.4b4938",
     "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\"/>",
+    "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.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": 969,
index 9075fdb..232fa5e 100644 (file)
     "id": "d58d3bad.af4188",
     "type": "execute",
     "name": "execute REST DELETE VPN",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services/vpnservice=' + $prop.l3vpn.name`\" />\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services/vpnservice=' + $prop.l3vpn.name`\" />\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.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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1604.03125,
     "id": "1f654f28.833041",
     "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\"/>",
+    "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.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": 1623.03125,
     "id": "298989a7.60397e",
     "type": "execute",
     "name": "execute REST DELETE Site",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites/site=' + $prop.l3vpn.site1_name`\" />\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=\"site-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites/site=' + $prop.l3vpn.site1_name`\" />\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=\"site-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1604,
     "id": "e2203ccc.e2252",
     "type": "execute",
     "name": "execute REST DELETE VRF1",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes/vrf-attribute=' + $prop.l3vpn.vrf1-id`\" />\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=\"vrf1-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes/vrf-attribute=' + $prop.l3vpn.vrf1-id`\" />\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=\"vrf1-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1604,
     "id": "d01694ec.b6d578",
     "type": "execute",
     "name": "execute REST DELETE VRF2",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes/vrf-attribute=' + $prop.l3vpn.vrf2-id`\" />\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=\"vrf2-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes/vrf-attribute=' + $prop.l3vpn.vrf2-id`\" />\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=\"vrf2-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1611,
index 4d15309..bee8da8 100644 (file)
     "id": "f3ac87c7.5588f8",
     "type": "execute",
     "name": "execute RestApiCallNode create vpn topology",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`\" />\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=\"put\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 698.9997272491455,
     "id": "6a97289d.80a568",
     "type": "execute",
     "name": "execute RestApiCallNode create vpn ",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\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=\"put\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 667.9981231689453,
     "id": "86fafd91.f4f2f",
     "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\"/>",
+    "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.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": 655.0038986206055,
     "id": "55f46b97.799ce4",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant auth",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 683.3994293212891,
index 2792153..b2e9f71 100644 (file)
     "id": "bf17376.0f432c8",
     "type": "execute",
     "name": "execute RestApiCallNode delete vpn topology",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`\" />\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=\"put\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 790.812915802002,
     "id": "2b9c4213.cf45fe",
     "type": "execute",
     "name": "execute RestApiCallNode delete vpn ",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\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=\"put\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 763.8125877380371,
     "id": "217830b4.c0fbe",
     "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\"/>",
+    "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.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": 798.0000381469727,
     "id": "4044e726.54dc28",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant auth",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 826.3955688476562,
index dffd309..919c397 100644 (file)
     "id": "ef87bbc7.0bf428",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant auth",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 660.3652954101562,
index 1435c7c..3f7cbdc 100644 (file)
     "id": "3eb35468.4702ac",
     "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\"/>",
+    "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.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": 786,
     "id": "7110150.fd1e8ec",
     "type": "execute",
     "name": "execute RestApiCallNode Create network orchestration",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-network-orchestration.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"orchestration-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-network-orchestration.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"orchestration-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1028.2501525878906,
     "id": "4d96e12b.86876",
     "type": "execute",
     "name": "execute RestApiCallNode Create vpn",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-create.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\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=\"post\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-create.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 981.7500610351562,
     "id": "50f144c4.b6b2ac",
     "type": "execute",
     "name": "execute RestApiCallNode Create vpn topology",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology-create.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`\" />\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=\"post\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology-create.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1009.2500648498535,
     "id": "d533a7b3.2b7aa8",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-tenant.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-tenant.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1776.8929138183594,
     "id": "ebb2a924.447738",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant auth",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1797.250228881836,
     "id": "75fd5cb0.1720a4",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant auth",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1697.1510009765625,
index 876668f..b0c215a 100644 (file)
     "id": "b370ae59.4bce9",
     "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\"/>",
+    "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.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": 771,
     "id": "2ec15.4c1aa3ebc",
     "type": "execute",
     "name": "execute RestApiCallNode delete vpn",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-delete.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn/action/batch-delete'`\" />\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=\"post\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-delete.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 779.7501068115234,
     "id": "988eea5f.5a0298",
     "type": "execute",
     "name": "execute RestApiCallNode delete vpn topology",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`\" />\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`\" />\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.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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 809.2501220703125,
     "id": "29548e46.007002",
     "type": "execute",
     "name": "execute RestApiCallNode Create tenant auth",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1704.0834770202637,
index 798be48..1f43d75 100644 (file)
     "id": "feaf1629.1e79e8",
     "type": "execute",
     "name": "execute RestApiCallNode Create Devcie Instance",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"deviceResp\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"deviceResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 724.3017807006836,
     "id": "752aae5e.411ae",
     "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\"/>",
+    "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.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": 675.4445495605469,
index c4a03e7..116a08f 100644 (file)
     "id": "dac79818.50d828",
     "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\"/>",
+    "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.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": 538.0155982971191,
     "id": "744539f4.efb448",
     "type": "execute",
     "name": "execute RestApiCallNode delete Devcie Instance",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`\" />\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=\"deviceResp\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`\" />\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=\"deviceResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 580.6026992797852,
index 62fa434..20bd1ea 100644 (file)
@@ -1 +1 @@
-[{"id":"46d6fdfc.0d3d74","type":"dgstart","name":"DGSTART","outputs":1,"x":142.00390625,"y":70.00390625,"z":"941656e1.8095c8","wires":[["3dff9ac3.bb3cb6"]]},{"id":"3dff9ac3.bb3cb6","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":273.2895965576172,"y":119.24201488494873,"z":"941656e1.8095c8","wires":[["2ef3e2.eacdfc1e"]]},{"id":"2ef3e2.eacdfc1e","type":"method","name":"method sdwan-vnf-topology-operation-wanport-activate","xml":"<method rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync'>\n","comments":"","outputs":1,"x":276.4325256347656,"y":204.00393867492676,"z":"941656e1.8095c8","wires":[["4424dee4.7277c"]]},{"id":"4424dee4.7277c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":339.67066192626953,"y":809.670895576477,"z":"941656e1.8095c8","wires":[["6e86cc91.e0dec4","5bdbf2ca.b4e3dc","151081d2.0192fe","c29d81d2.26164","a2e7cf45.ff9e2","38e08d51.507ad2","94bebe02.1a335","a5bbfdf4.35473","a43c9c13.d97cd","32a8d1f7.681cde","92918d15.6311e","11b93136.6ca9cf","539afc44.b0e354","141979cd.9670c6","b7e436fa.b674a8","1b1c84a1.cf917b","c375f7fa.294358","811217d2.ba2838","d9fd9ca8.ebcd1","626cbb77.e952f4"]]},{"id":"6e86cc91.e0dec4","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":666.338436126709,"y":1541.3386178016663,"z":"941656e1.8095c8","wires":[]},{"id":"32a8d1f7.681cde","type":"execute","name":"execute RestApiCallNode device port create","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-port.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/ports'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"portResp\"/>\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":754.3380165100098,"y":804.893404006958,"z":"941656e1.8095c8","wires":[["5cc9a68e.86df28","fed901a6.fef5b"]]},{"id":"5cc9a68e.86df28","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1003.3380756378174,"y":818.8936100006104,"z":"941656e1.8095c8","wires":[["19629438.2f203c"]]},{"id":"fed901a6.fef5b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1003.3380756378174,"y":780.8934454917908,"z":"941656e1.8095c8","wires":[["b43125d5.1cbe28"]]},{"id":"b43125d5.1cbe28","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 device port rest api\" />\n","comments":"","x":1147.3384094238281,"y":779.8934450149536,"z":"941656e1.8095c8","wires":[]},{"id":"19629438.2f203c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1150.3380870819092,"y":819.8934488296509,"z":"941656e1.8095c8","wires":[[]]},{"id":"92918d15.6311e","type":"execute","name":"execute RestApiCallNode get transport network info","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`\" />\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=\"transportNetworksResp\"/>\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":777.0043678283691,"y":984.0045094490051,"z":"941656e1.8095c8","wires":[["3327c1fb.4d24fe","c55988fe.a0e798"]]},{"id":"539afc44.b0e354","type":"execute","name":"execute RestApiCallNode wan port create","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-wan-port.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"wanPortResp\"/>\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":750.0044593811035,"y":1221.004557609558,"z":"941656e1.8095c8","wires":[["ad0f8d25.41a07","6aa8a6c5.0c81c8"]]},{"id":"5bdbf2ca.b4e3dc","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":736.0248413085938,"y":148.02481842041016,"z":"941656e1.8095c8","wires":[["a576fae9.715c48","c3727d96.694c","c11796b3.901648"]]},{"id":"a576fae9.715c48","type":"other","name":"Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":988.0248756408691,"y":149.02489948272705,"z":"941656e1.8095c8","wires":[["5f0271db.92f1e"]]},{"id":"5f0271db.92f1e","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":1149.8026237487793,"y":128.91384649276733,"z":"941656e1.8095c8","wires":[]},{"id":"c3727d96.694c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":981.0252838134766,"y":182.02490329742432,"z":"941656e1.8095c8","wires":[["dfdaa60f.2c4798"]]},{"id":"dfdaa60f.2c4798","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1004.2947998046875,"y":280.5794982910156,"z":"941656e1.8095c8","wires":[["29ab81e8.aad05e","1ff5f2ad.bd779d","d40815b2.6f0e48","ae71fbba.546708","cda43949.a48508"]]},{"id":"29ab81e8.aad05e","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":1284.3109436035156,"y":174.45346450805664,"z":"941656e1.8095c8","wires":[["27d5ec0c.5024d4"]]},{"id":"1ff5f2ad.bd779d","type":"switchNode","name":"switch tmp.vidx ","xml":"<switch test=\"`$tmp.vidx`\">\n\n","comments":"","outputs":1,"x":1210.612247467041,"y":320.43669986724854,"z":"941656e1.8095c8","wires":[["e7d084a0.2326d8"]]},{"id":"e7d084a0.2326d8","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1358.0408897399902,"y":320.0081100463867,"z":"941656e1.8095c8","wires":[["2ada3281.d776de"]]},{"id":"d3e4c80f.d09fa8","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":1657.7401733398438,"y":173.70362663269043,"z":"941656e1.8095c8","wires":[["2986fb68.2295a4"]]},{"id":"2ada3281.d776de","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":1507.4696159362793,"y":321.15102767944336,"z":"941656e1.8095c8","wires":[]},{"id":"2986fb68.2295a4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1812.6921653747559,"y":174.59630584716797,"z":"941656e1.8095c8","wires":[["18f7dec7.63c771"]]},{"id":"c972958e.ff1258","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.224250793457,"y":84.34636402130127,"z":"941656e1.8095c8","wires":[]},{"id":"c11796b3.901648","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":989.9936256408691,"y":112.99358558654785,"z":"941656e1.8095c8","wires":[["5f0271db.92f1e"]]},{"id":"141979cd.9670c6","type":"set","name":"set device PortId to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='devicePortId' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.wan.devicePortId`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":718.9948272705078,"y":1277.9951152801514,"z":"941656e1.8095c8","wires":[]},{"id":"40c1c1e5.e807e","type":"comment","name":"Get siteId from site resource created for this service","info":"","comments":"","x":761.9938888549805,"y":333.32712268829346,"z":"941656e1.8095c8","wires":[]},{"id":"27d5ec0c.5024d4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1503.6605758666992,"y":173.99354457855225,"z":"941656e1.8095c8","wires":[["d3e4c80f.d09fa8"]]},{"id":"151081d2.0192fe","type":"set","name":"set vnfId and vnf-object-path","xml":"<set>\n<parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\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/'  + $vnf-topology-operation-input.vnf-information.vnf-id  + '/vnf-data/'` \" />","comments":"","x":699.5501403808594,"y":1420.217029094696,"z":"941656e1.8095c8","wires":[]},{"id":"c29d81d2.26164","type":"set","name":"set vnf-level-oper-status to Active","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].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[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":716.9946022033691,"y":1459.9948649406433,"z":"941656e1.8095c8","wires":[]},{"id":"d9fd9ca8.ebcd1","type":"update","name":"update SDWAN wan port instance configuration in AAI","xml":"<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='wan-port-config' \n      key='wan-port-config.wan-port-config-id = $vnf-topology-operation-input.vnf-information.vnf-id' >\n<parameter name=\"wan-port-config-id\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\" />\n<parameter name='operational-status' value='Active' />\n<parameter name='device-port-id' value='`$prop.wan.devicePortId`' />\n<parameter name='wan-port-id' value='`$prop.wan.wanPortId`' />\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","comments":"","outputs":1,"x":779.657527923584,"y":1499.1423268318176,"z":"941656e1.8095c8","wires":[[]]},{"id":"540113a8.f6e3bc","type":"set","name":"set prop.wan.transportNetworkId","xml":"<set>\n<parameter name='prop.wan.transportNetworkId' value='`$transportNetworksResp.data.transportNetworks[$tidx].id`' />\n","comments":"","x":1531.995449066162,"y":1060.9945812225342,"z":"941656e1.8095c8","wires":[]},{"id":"811217d2.ba2838","type":"for","name":"for loop sidx - Get siteId from servicedata","xml":"<for index=\"sidx\" start=\"0\" end=\"`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":741.9939117431641,"y":483.9937791824341,"z":"941656e1.8095c8","wires":[["5a526d31.0941f4"]]},{"id":"eb17c95f.c77458","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":1172.994239807129,"y":484.99390983581543,"z":"941656e1.8095c8","wires":[["fec4cb2a.2c7e38"]]},{"id":"fec4cb2a.2c7e38","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1310.9946975708008,"y":482.99389457702637,"z":"941656e1.8095c8","wires":[["b43cbcc4.04945"]]},{"id":"b43cbcc4.04945","type":"set","name":"set prop.wan.siteId","xml":"<set>\n<parameter name='prop.wan.siteId' value='`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n\n\n","comments":"","x":1474.9947319030762,"y":484.59374809265137,"z":"941656e1.8095c8","wires":[]},{"id":"11b93136.6ca9cf","type":"execute","name":"execute split ip and mask","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.wan.ipAddress`'/>\n<parameter name=\"regex\" value=\"/\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"ipandMask\"/>\n","comments":"","outputs":1,"x":700.9942359924316,"y":1129.3275499343872,"z":"941656e1.8095c8","wires":[["8bee1efd.9d6b2","15fadf5a.5c3931"]]},{"id":"15fadf5a.5c3931","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":901.994255065918,"y":1107.3275413513184,"z":"941656e1.8095c8","wires":[["8296d7d6.8486f8"]]},{"id":"8bee1efd.9d6b2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":901.9942588806152,"y":1148.3275451660156,"z":"941656e1.8095c8","wires":[["202ce5b1.58685a"]]},{"id":"8296d7d6.8486f8","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.wan.ip-address' value='`$ipandMask[0]`' />\n<parameter name='prop.wan.prefixLength' value='`$ipandMask[1]`' />","comments":"","x":1098.9942741394043,"y":1105.3275413513184,"z":"941656e1.8095c8","wires":[]},{"id":"202ce5b1.58685a","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":1056.9942665100098,"y":1145.3275442123413,"z":"941656e1.8095c8","wires":[]},{"id":"a5bbfdf4.35473","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 = SDWANController AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n","comments":"","outputs":1,"x":716.4940795898438,"y":581.9938354492188,"z":"941656e1.8095c8","wires":[["a1fae638.ce0e38","c7e4f763.873648","695a6a89.62d134"]]},{"id":"a1fae638.ce0e38","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":948.4941635131836,"y":545.9938583374023,"z":"941656e1.8095c8","wires":[["43c09877.81b248"]]},{"id":"c7e4f763.873648","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":950.9850463867188,"y":581.5678949356079,"z":"941656e1.8095c8","wires":[["7bb99ede.125ea"]]},{"id":"695a6a89.62d134","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":946.3180541992188,"y":617.9012537002563,"z":"941656e1.8095c8","wires":[["7755af9b.62a34"]]},{"id":"7755af9b.62a34","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":1100.0905456542969,"y":615.3403406143188,"z":"941656e1.8095c8","wires":[]},{"id":"7bb99ede.125ea","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":1096.5564422607422,"y":579.8535823822021,"z":"941656e1.8095c8","wires":[]},{"id":"43c09877.81b248","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":1108.9942741394043,"y":543.9937982559204,"z":"941656e1.8095c8","wires":[]},{"id":"a2e7cf45.ff9e2","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=\"sdwan-wanport-vnf-topology-operation-activate\"/>\n<parameter name=\"field3\" value=\"SDWAN-Activate\"/>\n","comments":"","outputs":1,"x":654.0040016174316,"y":204.00393629074097,"z":"941656e1.8095c8","wires":[[]]},{"id":"38e08d51.507ad2","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":690.3061256408691,"y":239.00398015975952,"z":"941656e1.8095c8","wires":[[]]},{"id":"a43c9c13.d97cd","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":731.0042114257812,"y":669.6708374023438,"z":"941656e1.8095c8","wires":[["7b139fe2.0d3ea","5f5e8987.ed1188"]]},{"id":"7b139fe2.0d3ea","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":966.004337310791,"y":655.670825958252,"z":"941656e1.8095c8","wires":[["64afeedb.7ff63"]]},{"id":"64afeedb.7ff63","type":"set","name":"set token-id","xml":"<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n","comments":"","x":1108.0043449401855,"y":654.6708269119263,"z":"941656e1.8095c8","wires":[]},{"id":"8c817f35.4dc83","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 get token rest api\" />\n","comments":"","x":1114.0043449401855,"y":692.0638151168823,"z":"941656e1.8095c8","wires":[]},{"id":"5f5e8987.ed1188","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":965.254337310791,"y":691.3137331008911,"z":"941656e1.8095c8","wires":[["8c817f35.4dc83"]]},{"id":"550c76f1.771f98","type":"switchNode","name":"switch transportNetworkName same","xml":"<switch test=\"`$transportNetworksResp.data.transportNetworks[$tidx].name == $prop.wan.transportNetworkName`\">\n\n","comments":"","outputs":1,"x":1171.0050621032715,"y":1018.6709794998169,"z":"941656e1.8095c8","wires":[["32465786.9bb1f8"]]},{"id":"32465786.9bb1f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1384.0045127868652,"y":1018.6708974838257,"z":"941656e1.8095c8","wires":[["540113a8.f6e3bc"]]},{"id":"f0dc5ee5.ceaf8","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":1598.3375091552734,"y":251.00396347045898,"z":"941656e1.8095c8","wires":[["f3b0bb97.35fe78"]]},{"id":"f3b0bb97.35fe78","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1821.3375186920166,"y":251.00396347045898,"z":"941656e1.8095c8","wires":[["8f1b5c96.10d07"]]},{"id":"9ea18cc5.bcded","type":"set","name":"set tmp.devicevidx","xml":"<set>\n<parameter name='tmp.devicevidx' value='`$vidx`' />\n\n","comments":"","x":2786.3368530273438,"y":682.0039882659912,"z":"941656e1.8095c8","wires":[]},{"id":"cda43949.a48508","type":"switchNode","name":"switch tmp.devicevidx","xml":"<switch test=\"`$tmp.devicevidx`\">\n\n","comments":"","outputs":1,"x":1251.3374366760254,"y":409.0040259361267,"z":"941656e1.8095c8","wires":[["cab806dc.723728"]]},{"id":"cab806dc.723728","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1435.7660026550293,"y":409.57546281814575,"z":"941656e1.8095c8","wires":[["ce137ba4.ab4808"]]},{"id":"ce137ba4.ab4808","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=\"ActivateSDWANDeviceInstance not found in service-data\" />\n","comments":"","x":1576.1947441101074,"y":409.71834230422974,"z":"941656e1.8095c8","wires":[]},{"id":"273aead0.9eb3a6","type":"comment","name":"Get deviceId from device resource created for this service","info":"","comments":"","x":2235.6707916259766,"y":348.33724212646484,"z":"941656e1.8095c8","wires":[]},{"id":"4e13b56.4d1d64c","type":"for","name":"for loop didx - Get deviceId from servicedata","xml":"<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2221.671001434326,"y":272.00388622283936,"z":"941656e1.8095c8","wires":[["92766af3.12d248"]]},{"id":"c477fc4d.b0d32","type":"switchNode","name":"switch name (DeviceName)","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'name'`\">\n","comments":"","outputs":1,"x":2239.671600341797,"y":410.0041313171387,"z":"941656e1.8095c8","wires":[["41bc9702.e49d18"]]},{"id":"41bc9702.e49d18","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2441.672092437744,"y":404.0041913986206,"z":"941656e1.8095c8","wires":[["2a414e7.1dfdeb2"]]},{"id":"5a526d31.0941f4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1004.0041046142578,"y":484.67060375213623,"z":"941656e1.8095c8","wires":[["eb17c95f.c77458"]]},{"id":"92766af3.12d248","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2014.003890991211,"y":408.6706323623657,"z":"941656e1.8095c8","wires":[["c477fc4d.b0d32"]]},{"id":"300379eb.34eba6","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3085.0050506591797,"y":622.6709289550781,"z":"941656e1.8095c8","wires":[["1e04fb03.c02275"]]},{"id":"1e04fb03.c02275","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3238.0054206848145,"y":623.6710062026978,"z":"941656e1.8095c8","wires":[["febe1667.67dc28"]]},{"id":"febe1667.67dc28","type":"set","name":"set prop.wan.deviceId","xml":"<set>\n<parameter name='prop.wan.deviceId' value='`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n","comments":"","x":3407.0060272216797,"y":622.2710409164429,"z":"941656e1.8095c8","wires":[]},{"id":"8f1b5c96.10d07","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1962.6708374023438,"y":273.00398349761963,"z":"941656e1.8095c8","wires":[["4e13b56.4d1d64c"]]},{"id":"2a414e7.1dfdeb2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2260.0051345825195,"y":487.0041608810425,"z":"941656e1.8095c8","wires":[["97c6ed04.8c4b6"]]},{"id":"7cbc77f3.7157c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2649.0058403015137,"y":490.00428581237793,"z":"941656e1.8095c8","wires":[["fc9feae5.213678"]]},{"id":"18f7dec7.63c771","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1951.3376846313477,"y":175.00393962860107,"z":"941656e1.8095c8","wires":[["c972958e.ff1258","20413b2e.a4e934","d5207b14.483ab8","4003ca14.00a3a4"]]},{"id":"54164621.634478","type":"set","name":"set prop.wan.wanPortId","xml":"<set>\n<parameter name='prop.wan.wanPortId' value='`$wanPortResp.success[0].id`' />\n","comments":"","x":1326.3287029266357,"y":1239.6612844467163,"z":"941656e1.8095c8","wires":[]},{"id":"b7e436fa.b674a8","type":"set","name":"set prop.wan.devicePortId","xml":"<set>\n<parameter name='prop.wan.devicePortId' value='`$portResp.success[0].id`' />\n","comments":"","x":708.9952239990234,"y":866.9945602416992,"z":"941656e1.8095c8","wires":[]},{"id":"147912c.8f205ed","type":"comment","name":"Create port","info":"","comments":"","x":656.0039558410645,"y":771.3374280929565,"z":"941656e1.8095c8","wires":[]},{"id":"f901209e.dc4fb","type":"comment","name":"Get network id","info":"","comments":"","x":707.0040283203125,"y":949.3373865485191,"z":"941656e1.8095c8","wires":[]},{"id":"166789be.de4306","type":"comment","name":"Create wan port","info":"","comments":"","x":674.0041122436523,"y":1082.3375997543335,"z":"941656e1.8095c8","wires":[]},{"id":"6aa8a6c5.0c81c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":986.0041160583496,"y":1207.0041790008545,"z":"941656e1.8095c8","wires":[["c6f20e4e.e6f5"]]},{"id":"ad0f8d25.41a07","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":990.0040855407715,"y":1241.004285812378,"z":"941656e1.8095c8","wires":[["4d940881.eaca88"]]},{"id":"4d940881.eaca88","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1134.0041007995605,"y":1240.0041227340698,"z":"941656e1.8095c8","wires":[["54164621.634478"]]},{"id":"93fe9fd5.c023","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 wan port rest api\" />\n","comments":"","x":1308.004482269287,"y":1206.004210472107,"z":"941656e1.8095c8","wires":[]},{"id":"c55988fe.a0e798","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1083.0039558410645,"y":932.0040845870972,"z":"941656e1.8095c8","wires":[["3bae7b03.73d364"]]},{"id":"3327c1fb.4d24fe","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1083.0039520263672,"y":972.0042495727539,"z":"941656e1.8095c8","wires":[["f0b104fa.c0deb8"]]},{"id":"f0b104fa.c0deb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1227.0039672851562,"y":971.0040864944458,"z":"941656e1.8095c8","wires":[[]]},{"id":"3bae7b03.73d364","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 Get transport network info rest api\" />\n","comments":"","x":1225.0042877197266,"y":931.0040845870972,"z":"941656e1.8095c8","wires":[]},{"id":"d5207b14.483ab8","type":"call","name":"call sdwan-get-wan-param","xml":"<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' >\n","comments":"","outputs":1,"x":2223.670539855957,"y":181.0039825439453,"z":"941656e1.8095c8","wires":[[]]},{"id":"20413b2e.a4e934","type":"set","name":"set vnf-request-input.","xml":"<set>\n<parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />\n\n","comments":"","x":2192.670539855957,"y":131.003999710083,"z":"941656e1.8095c8","wires":[]},{"id":"5b0f6055.7179","type":"comment","name":"This is also required for template parameters update","info":"","comments":"","x":2588.0043029785156,"y":227.00394248962402,"z":"941656e1.8095c8","wires":[]},{"id":"50e23754.b09268","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":1561.0043487548828,"y":216.00395584106445,"z":"941656e1.8095c8","wires":[["97fa566d.a78ef8"]]},{"id":"97fa566d.a78ef8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1757.0045318603516,"y":217.00395584106445,"z":"941656e1.8095c8","wires":[["f588a589.b88298"]]},{"id":"f588a589.b88298","type":"set","name":"set tmp.siteVidx","xml":"<set>\n<parameter name='tmp.siteVidx' value='`$vidx`' />\n<parameter name='ctx.site.' value='`$service-data.vnfs.vnf[$vidx].`' />\n\n","comments":"","x":1943.0038299560547,"y":214.00395965576172,"z":"941656e1.8095c8","wires":[]},{"id":"ae71fbba.546708","type":"switchNode","name":"switch tmp.siteVidx","xml":"<switch test=\"`$tmp.siteVidx`\">\n\n","comments":"","outputs":1,"x":1234.6706581115723,"y":358.00397634506226,"z":"941656e1.8095c8","wires":[["3f02b2e3.e5e5ae"]]},{"id":"3f02b2e3.e5e5ae","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1409.0993690490723,"y":358.5754280090332,"z":"941656e1.8095c8","wires":[["54b3eb72.36f954"]]},{"id":"54b3eb72.36f954","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=\"ActivateSiteInstance not found in service-data\" />\n","comments":"","x":1551.5280876159668,"y":357.71829080581665,"z":"941656e1.8095c8","wires":[]},{"id":"97c6ed04.8c4b6","type":"switchNode","name":"switch deviceName match","xml":"<switch test=\"`$prop.wan.deviceName == $service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`\">\n\n\n","comments":"","outputs":1,"x":2465.671859741211,"y":488.0042247772217,"z":"941656e1.8095c8","wires":[["7cbc77f3.7157c8"]]},{"id":"fc9feae5.213678","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2548.3377990722656,"y":562.0040683746338,"z":"941656e1.8095c8","wires":[["6c43560b.6674b8","9ea18cc5.bcded"]]},{"id":"6c43560b.6674b8","type":"for","name":"for loop deviceidx - Get deviceId from servicedata","xml":"<for index=\"deviceidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2828.5349502563477,"y":557.0352573394775,"z":"941656e1.8095c8","wires":[["95b06241.a3403"]]},{"id":"95b06241.a3403","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2905.5356826782227,"y":621.0353565216064,"z":"941656e1.8095c8","wires":[["300379eb.34eba6"]]},{"id":"4003ca14.00a3a4","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=\".....\"/>\n<parameter name=\"field3\" value=\"prop.wan.deviceName\"/>\n<parameter name=\"field4\" value='`$prop.wan.deviceName`'/>\n","comments":"","outputs":1,"x":2151.535285949707,"y":229.0351734161377,"z":"941656e1.8095c8","wires":[[]]},{"id":"d40815b2.6f0e48","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":1277.003978729248,"y":252.0039234161377,"z":"941656e1.8095c8","wires":[["f0dc5ee5.ceaf8","50e23754.b09268"]]},{"id":"94bebe02.1a335","type":"set","name":"copy input data to service data","xml":"<set>\n<!--parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' /-->\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />","comments":"","x":712.0351943969727,"y":1374.5353388786316,"z":"941656e1.8095c8","wires":[]},{"id":"83fdb698.dfc008","type":"comment","name":"TODO: split ip/mask","info":"","comments":"","x":1098.00390625,"y":1067.5078134536743,"z":"941656e1.8095c8","wires":[]},{"id":"538e6756.86b638","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":950.0047798156738,"y":1020.3376731872559,"z":"941656e1.8095c8","wires":[["550c76f1.771f98"]]},{"id":"1b1c84a1.cf917b","type":"for","name":"for loop tidx - Get transportNetwork ID","xml":"<for index=\"tidx\" start=\"0\" end=\"`$transportNetworksResp.data.transportNetworks_length`\">\n    \n    \n","comments":"","outputs":1,"x":734.0043983459473,"y":1019.3374290466309,"z":"941656e1.8095c8","wires":[["538e6756.86b638"]]},{"id":"c375f7fa.294358","type":"set","name":"set wan portId to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='wanPortId' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.wan.wanPortId`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":713.0039215087891,"y":1324.254180431366,"z":"941656e1.8095c8","wires":[]},{"id":"626cbb77.e952f4","type":"call","name":"call sdwan-get-tenant-auth","xml":"<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-tenant-auth' mode='sync' >\n","comments":"","outputs":1,"x":706.00390625,"y":725.00390625,"z":"941656e1.8095c8","wires":[[]]},{"id":"c6f20e4e.e6f5","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1130.0079612731934,"y":1205.5078706741333,"z":"941656e1.8095c8","wires":[[]]}]
\ No newline at end of file
+[{"id":"46d6fdfc.0d3d74","type":"dgstart","name":"DGSTART","outputs":1,"x":142.00390625,"y":70.00390625,"z":"941656e1.8095c8","wires":[["3dff9ac3.bb3cb6"]]},{"id":"3dff9ac3.bb3cb6","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":273.2895965576172,"y":119.24201488494873,"z":"941656e1.8095c8","wires":[["2ef3e2.eacdfc1e"]]},{"id":"2ef3e2.eacdfc1e","type":"method","name":"method sdwan-vnf-topology-operation-wanport-activate","xml":"<method rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync'>\n","comments":"","outputs":1,"x":276.4325256347656,"y":204.00393867492676,"z":"941656e1.8095c8","wires":[["4424dee4.7277c"]]},{"id":"4424dee4.7277c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":339.67066192626953,"y":809.670895576477,"z":"941656e1.8095c8","wires":[["6e86cc91.e0dec4","5bdbf2ca.b4e3dc","151081d2.0192fe","c29d81d2.26164","a2e7cf45.ff9e2","38e08d51.507ad2","94bebe02.1a335","a5bbfdf4.35473","a43c9c13.d97cd","32a8d1f7.681cde","92918d15.6311e","11b93136.6ca9cf","539afc44.b0e354","141979cd.9670c6","b7e436fa.b674a8","1b1c84a1.cf917b","c375f7fa.294358","811217d2.ba2838","d9fd9ca8.ebcd1","626cbb77.e952f4"]]},{"id":"6e86cc91.e0dec4","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":666.338436126709,"y":1541.3386178016663,"z":"941656e1.8095c8","wires":[]},{"id":"32a8d1f7.681cde","type":"execute","name":"execute RestApiCallNode device port create","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-port.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/ports'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"portResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":754.3380165100098,"y":804.893404006958,"z":"941656e1.8095c8","wires":[["5cc9a68e.86df28","fed901a6.fef5b"]]},{"id":"5cc9a68e.86df28","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1003.3380756378174,"y":818.8936100006104,"z":"941656e1.8095c8","wires":[["19629438.2f203c"]]},{"id":"fed901a6.fef5b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1003.3380756378174,"y":780.8934454917908,"z":"941656e1.8095c8","wires":[["b43125d5.1cbe28"]]},{"id":"b43125d5.1cbe28","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 device port rest api\" />\n","comments":"","x":1147.3384094238281,"y":779.8934450149536,"z":"941656e1.8095c8","wires":[]},{"id":"19629438.2f203c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1150.3380870819092,"y":819.8934488296509,"z":"941656e1.8095c8","wires":[[]]},{"id":"92918d15.6311e","type":"execute","name":"execute RestApiCallNode get transport network info","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`\" />\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=\"transportNetworksResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":777.0043678283691,"y":984.0045094490051,"z":"941656e1.8095c8","wires":[["3327c1fb.4d24fe","c55988fe.a0e798"]]},{"id":"539afc44.b0e354","type":"execute","name":"execute RestApiCallNode wan port create","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-wan-port.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"wanPortResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":750.0044593811035,"y":1221.004557609558,"z":"941656e1.8095c8","wires":[["ad0f8d25.41a07","6aa8a6c5.0c81c8"]]},{"id":"5bdbf2ca.b4e3dc","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":736.0248413085938,"y":148.02481842041016,"z":"941656e1.8095c8","wires":[["a576fae9.715c48","c3727d96.694c","c11796b3.901648"]]},{"id":"a576fae9.715c48","type":"other","name":"Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":988.0248756408691,"y":149.02489948272705,"z":"941656e1.8095c8","wires":[["5f0271db.92f1e"]]},{"id":"5f0271db.92f1e","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":1149.8026237487793,"y":128.91384649276733,"z":"941656e1.8095c8","wires":[]},{"id":"c3727d96.694c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":981.0252838134766,"y":182.02490329742432,"z":"941656e1.8095c8","wires":[["dfdaa60f.2c4798"]]},{"id":"dfdaa60f.2c4798","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1004.2947998046875,"y":280.5794982910156,"z":"941656e1.8095c8","wires":[["29ab81e8.aad05e","1ff5f2ad.bd779d","d40815b2.6f0e48","ae71fbba.546708","cda43949.a48508"]]},{"id":"29ab81e8.aad05e","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":1284.3109436035156,"y":174.45346450805664,"z":"941656e1.8095c8","wires":[["27d5ec0c.5024d4"]]},{"id":"1ff5f2ad.bd779d","type":"switchNode","name":"switch tmp.vidx ","xml":"<switch test=\"`$tmp.vidx`\">\n\n","comments":"","outputs":1,"x":1210.612247467041,"y":320.43669986724854,"z":"941656e1.8095c8","wires":[["e7d084a0.2326d8"]]},{"id":"e7d084a0.2326d8","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1358.0408897399902,"y":320.0081100463867,"z":"941656e1.8095c8","wires":[["2ada3281.d776de"]]},{"id":"d3e4c80f.d09fa8","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":1657.7401733398438,"y":173.70362663269043,"z":"941656e1.8095c8","wires":[["2986fb68.2295a4"]]},{"id":"2ada3281.d776de","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":1507.4696159362793,"y":321.15102767944336,"z":"941656e1.8095c8","wires":[]},{"id":"2986fb68.2295a4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1812.6921653747559,"y":174.59630584716797,"z":"941656e1.8095c8","wires":[["18f7dec7.63c771"]]},{"id":"c972958e.ff1258","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.224250793457,"y":84.34636402130127,"z":"941656e1.8095c8","wires":[]},{"id":"c11796b3.901648","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":989.9936256408691,"y":112.99358558654785,"z":"941656e1.8095c8","wires":[["5f0271db.92f1e"]]},{"id":"141979cd.9670c6","type":"set","name":"set device PortId to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='devicePortId' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.wan.devicePortId`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":718.9948272705078,"y":1277.9951152801514,"z":"941656e1.8095c8","wires":[]},{"id":"40c1c1e5.e807e","type":"comment","name":"Get siteId from site resource created for this service","info":"","comments":"","x":761.9938888549805,"y":333.32712268829346,"z":"941656e1.8095c8","wires":[]},{"id":"27d5ec0c.5024d4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1503.6605758666992,"y":173.99354457855225,"z":"941656e1.8095c8","wires":[["d3e4c80f.d09fa8"]]},{"id":"151081d2.0192fe","type":"set","name":"set vnfId and vnf-object-path","xml":"<set>\n<parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\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/'  + $vnf-topology-operation-input.vnf-information.vnf-id  + '/vnf-data/'` \" />","comments":"","x":699.5501403808594,"y":1420.217029094696,"z":"941656e1.8095c8","wires":[]},{"id":"c29d81d2.26164","type":"set","name":"set vnf-level-oper-status to Active","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].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[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":716.9946022033691,"y":1459.9948649406433,"z":"941656e1.8095c8","wires":[]},{"id":"d9fd9ca8.ebcd1","type":"update","name":"update SDWAN wan port instance configuration in AAI","xml":"<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='wan-port-config' \n      key='wan-port-config.wan-port-config-id = $vnf-topology-operation-input.vnf-information.vnf-id' >\n<parameter name=\"wan-port-config-id\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\" />\n<parameter name='operational-status' value='Active' />\n<parameter name='device-port-id' value='`$prop.wan.devicePortId`' />\n<parameter name='wan-port-id' value='`$prop.wan.wanPortId`' />\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","comments":"","outputs":1,"x":779.657527923584,"y":1499.1423268318176,"z":"941656e1.8095c8","wires":[[]]},{"id":"540113a8.f6e3bc","type":"set","name":"set prop.wan.transportNetworkId","xml":"<set>\n<parameter name='prop.wan.transportNetworkId' value='`$transportNetworksResp.data.transportNetworks[$tidx].id`' />\n","comments":"","x":1531.995449066162,"y":1060.9945812225342,"z":"941656e1.8095c8","wires":[]},{"id":"811217d2.ba2838","type":"for","name":"for loop sidx - Get siteId from servicedata","xml":"<for index=\"sidx\" start=\"0\" end=\"`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":741.9939117431641,"y":483.9937791824341,"z":"941656e1.8095c8","wires":[["5a526d31.0941f4"]]},{"id":"eb17c95f.c77458","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":1172.994239807129,"y":484.99390983581543,"z":"941656e1.8095c8","wires":[["fec4cb2a.2c7e38"]]},{"id":"fec4cb2a.2c7e38","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1310.9946975708008,"y":482.99389457702637,"z":"941656e1.8095c8","wires":[["b43cbcc4.04945"]]},{"id":"b43cbcc4.04945","type":"set","name":"set prop.wan.siteId","xml":"<set>\n<parameter name='prop.wan.siteId' value='`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n\n\n","comments":"","x":1474.9947319030762,"y":484.59374809265137,"z":"941656e1.8095c8","wires":[]},{"id":"11b93136.6ca9cf","type":"execute","name":"execute split ip and mask","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.wan.ipAddress`'/>\n<parameter name=\"regex\" value=\"/\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"ipandMask\"/>\n","comments":"","outputs":1,"x":700.9942359924316,"y":1129.3275499343872,"z":"941656e1.8095c8","wires":[["8bee1efd.9d6b2","15fadf5a.5c3931"]]},{"id":"15fadf5a.5c3931","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":901.994255065918,"y":1107.3275413513184,"z":"941656e1.8095c8","wires":[["8296d7d6.8486f8"]]},{"id":"8bee1efd.9d6b2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":901.9942588806152,"y":1148.3275451660156,"z":"941656e1.8095c8","wires":[["202ce5b1.58685a"]]},{"id":"8296d7d6.8486f8","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.wan.ip-address' value='`$ipandMask[0]`' />\n<parameter name='prop.wan.prefixLength' value='`$ipandMask[1]`' />","comments":"","x":1098.9942741394043,"y":1105.3275413513184,"z":"941656e1.8095c8","wires":[]},{"id":"202ce5b1.58685a","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":1056.9942665100098,"y":1145.3275442123413,"z":"941656e1.8095c8","wires":[]},{"id":"a5bbfdf4.35473","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 = SDWANController AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n","comments":"","outputs":1,"x":716.4940795898438,"y":581.9938354492188,"z":"941656e1.8095c8","wires":[["a1fae638.ce0e38","c7e4f763.873648","695a6a89.62d134"]]},{"id":"a1fae638.ce0e38","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":948.4941635131836,"y":545.9938583374023,"z":"941656e1.8095c8","wires":[["43c09877.81b248"]]},{"id":"c7e4f763.873648","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":950.9850463867188,"y":581.5678949356079,"z":"941656e1.8095c8","wires":[["7bb99ede.125ea"]]},{"id":"695a6a89.62d134","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":946.3180541992188,"y":617.9012537002563,"z":"941656e1.8095c8","wires":[["7755af9b.62a34"]]},{"id":"7755af9b.62a34","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":1100.0905456542969,"y":615.3403406143188,"z":"941656e1.8095c8","wires":[]},{"id":"7bb99ede.125ea","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":1096.5564422607422,"y":579.8535823822021,"z":"941656e1.8095c8","wires":[]},{"id":"43c09877.81b248","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":1108.9942741394043,"y":543.9937982559204,"z":"941656e1.8095c8","wires":[]},{"id":"a2e7cf45.ff9e2","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=\"sdwan-wanport-vnf-topology-operation-activate\"/>\n<parameter name=\"field3\" value=\"SDWAN-Activate\"/>\n","comments":"","outputs":1,"x":654.0040016174316,"y":204.00393629074097,"z":"941656e1.8095c8","wires":[[]]},{"id":"38e08d51.507ad2","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":690.3061256408691,"y":239.00398015975952,"z":"941656e1.8095c8","wires":[[]]},{"id":"a43c9c13.d97cd","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.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":731.0042114257812,"y":669.6708374023438,"z":"941656e1.8095c8","wires":[["7b139fe2.0d3ea","5f5e8987.ed1188"]]},{"id":"7b139fe2.0d3ea","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":966.004337310791,"y":655.670825958252,"z":"941656e1.8095c8","wires":[["64afeedb.7ff63"]]},{"id":"64afeedb.7ff63","type":"set","name":"set token-id","xml":"<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n","comments":"","x":1108.0043449401855,"y":654.6708269119263,"z":"941656e1.8095c8","wires":[]},{"id":"8c817f35.4dc83","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 get token rest api\" />\n","comments":"","x":1114.0043449401855,"y":692.0638151168823,"z":"941656e1.8095c8","wires":[]},{"id":"5f5e8987.ed1188","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":965.254337310791,"y":691.3137331008911,"z":"941656e1.8095c8","wires":[["8c817f35.4dc83"]]},{"id":"550c76f1.771f98","type":"switchNode","name":"switch transportNetworkName same","xml":"<switch test=\"`$transportNetworksResp.data.transportNetworks[$tidx].name == $prop.wan.transportNetworkName`\">\n\n","comments":"","outputs":1,"x":1171.0050621032715,"y":1018.6709794998169,"z":"941656e1.8095c8","wires":[["32465786.9bb1f8"]]},{"id":"32465786.9bb1f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1384.0045127868652,"y":1018.6708974838257,"z":"941656e1.8095c8","wires":[["540113a8.f6e3bc"]]},{"id":"f0dc5ee5.ceaf8","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":1598.3375091552734,"y":251.00396347045898,"z":"941656e1.8095c8","wires":[["f3b0bb97.35fe78"]]},{"id":"f3b0bb97.35fe78","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1821.3375186920166,"y":251.00396347045898,"z":"941656e1.8095c8","wires":[["8f1b5c96.10d07"]]},{"id":"9ea18cc5.bcded","type":"set","name":"set tmp.devicevidx","xml":"<set>\n<parameter name='tmp.devicevidx' value='`$vidx`' />\n\n","comments":"","x":2786.3368530273438,"y":682.0039882659912,"z":"941656e1.8095c8","wires":[]},{"id":"cda43949.a48508","type":"switchNode","name":"switch tmp.devicevidx","xml":"<switch test=\"`$tmp.devicevidx`\">\n\n","comments":"","outputs":1,"x":1251.3374366760254,"y":409.0040259361267,"z":"941656e1.8095c8","wires":[["cab806dc.723728"]]},{"id":"cab806dc.723728","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1435.7660026550293,"y":409.57546281814575,"z":"941656e1.8095c8","wires":[["ce137ba4.ab4808"]]},{"id":"ce137ba4.ab4808","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=\"ActivateSDWANDeviceInstance not found in service-data\" />\n","comments":"","x":1576.1947441101074,"y":409.71834230422974,"z":"941656e1.8095c8","wires":[]},{"id":"273aead0.9eb3a6","type":"comment","name":"Get deviceId from device resource created for this service","info":"","comments":"","x":2235.6707916259766,"y":348.33724212646484,"z":"941656e1.8095c8","wires":[]},{"id":"4e13b56.4d1d64c","type":"for","name":"for loop didx - Get deviceId from servicedata","xml":"<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2221.671001434326,"y":272.00388622283936,"z":"941656e1.8095c8","wires":[["92766af3.12d248"]]},{"id":"c477fc4d.b0d32","type":"switchNode","name":"switch name (DeviceName)","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'name'`\">\n","comments":"","outputs":1,"x":2239.671600341797,"y":410.0041313171387,"z":"941656e1.8095c8","wires":[["41bc9702.e49d18"]]},{"id":"41bc9702.e49d18","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2441.672092437744,"y":404.0041913986206,"z":"941656e1.8095c8","wires":[["2a414e7.1dfdeb2"]]},{"id":"5a526d31.0941f4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1004.0041046142578,"y":484.67060375213623,"z":"941656e1.8095c8","wires":[["eb17c95f.c77458"]]},{"id":"92766af3.12d248","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2014.003890991211,"y":408.6706323623657,"z":"941656e1.8095c8","wires":[["c477fc4d.b0d32"]]},{"id":"300379eb.34eba6","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3085.0050506591797,"y":622.6709289550781,"z":"941656e1.8095c8","wires":[["1e04fb03.c02275"]]},{"id":"1e04fb03.c02275","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3238.0054206848145,"y":623.6710062026978,"z":"941656e1.8095c8","wires":[["febe1667.67dc28"]]},{"id":"febe1667.67dc28","type":"set","name":"set prop.wan.deviceId","xml":"<set>\n<parameter name='prop.wan.deviceId' value='`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n","comments":"","x":3407.0060272216797,"y":622.2710409164429,"z":"941656e1.8095c8","wires":[]},{"id":"8f1b5c96.10d07","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1962.6708374023438,"y":273.00398349761963,"z":"941656e1.8095c8","wires":[["4e13b56.4d1d64c"]]},{"id":"2a414e7.1dfdeb2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2260.0051345825195,"y":487.0041608810425,"z":"941656e1.8095c8","wires":[["97c6ed04.8c4b6"]]},{"id":"7cbc77f3.7157c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2649.0058403015137,"y":490.00428581237793,"z":"941656e1.8095c8","wires":[["fc9feae5.213678"]]},{"id":"18f7dec7.63c771","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1951.3376846313477,"y":175.00393962860107,"z":"941656e1.8095c8","wires":[["c972958e.ff1258","20413b2e.a4e934","d5207b14.483ab8","4003ca14.00a3a4"]]},{"id":"54164621.634478","type":"set","name":"set prop.wan.wanPortId","xml":"<set>\n<parameter name='prop.wan.wanPortId' value='`$wanPortResp.success[0].id`' />\n","comments":"","x":1326.3287029266357,"y":1239.6612844467163,"z":"941656e1.8095c8","wires":[]},{"id":"b7e436fa.b674a8","type":"set","name":"set prop.wan.devicePortId","xml":"<set>\n<parameter name='prop.wan.devicePortId' value='`$portResp.success[0].id`' />\n","comments":"","x":708.9952239990234,"y":866.9945602416992,"z":"941656e1.8095c8","wires":[]},{"id":"147912c.8f205ed","type":"comment","name":"Create port","info":"","comments":"","x":656.0039558410645,"y":771.3374280929565,"z":"941656e1.8095c8","wires":[]},{"id":"f901209e.dc4fb","type":"comment","name":"Get network id","info":"","comments":"","x":707.0040283203125,"y":949.3373865485191,"z":"941656e1.8095c8","wires":[]},{"id":"166789be.de4306","type":"comment","name":"Create wan port","info":"","comments":"","x":674.0041122436523,"y":1082.3375997543335,"z":"941656e1.8095c8","wires":[]},{"id":"6aa8a6c5.0c81c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":986.0041160583496,"y":1207.0041790008545,"z":"941656e1.8095c8","wires":[["c6f20e4e.e6f5"]]},{"id":"ad0f8d25.41a07","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":990.0040855407715,"y":1241.004285812378,"z":"941656e1.8095c8","wires":[["4d940881.eaca88"]]},{"id":"4d940881.eaca88","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1134.0041007995605,"y":1240.0041227340698,"z":"941656e1.8095c8","wires":[["54164621.634478"]]},{"id":"93fe9fd5.c023","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 wan port rest api\" />\n","comments":"","x":1308.004482269287,"y":1206.004210472107,"z":"941656e1.8095c8","wires":[]},{"id":"c55988fe.a0e798","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1083.0039558410645,"y":932.0040845870972,"z":"941656e1.8095c8","wires":[["3bae7b03.73d364"]]},{"id":"3327c1fb.4d24fe","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1083.0039520263672,"y":972.0042495727539,"z":"941656e1.8095c8","wires":[["f0b104fa.c0deb8"]]},{"id":"f0b104fa.c0deb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1227.0039672851562,"y":971.0040864944458,"z":"941656e1.8095c8","wires":[[]]},{"id":"3bae7b03.73d364","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 Get transport network info rest api\" />\n","comments":"","x":1225.0042877197266,"y":931.0040845870972,"z":"941656e1.8095c8","wires":[]},{"id":"d5207b14.483ab8","type":"call","name":"call sdwan-get-wan-param","xml":"<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' >\n","comments":"","outputs":1,"x":2223.670539855957,"y":181.0039825439453,"z":"941656e1.8095c8","wires":[[]]},{"id":"20413b2e.a4e934","type":"set","name":"set vnf-request-input.","xml":"<set>\n<parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />\n\n","comments":"","x":2192.670539855957,"y":131.003999710083,"z":"941656e1.8095c8","wires":[]},{"id":"5b0f6055.7179","type":"comment","name":"This is also required for template parameters update","info":"","comments":"","x":2588.0043029785156,"y":227.00394248962402,"z":"941656e1.8095c8","wires":[]},{"id":"50e23754.b09268","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":1561.0043487548828,"y":216.00395584106445,"z":"941656e1.8095c8","wires":[["97fa566d.a78ef8"]]},{"id":"97fa566d.a78ef8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1757.0045318603516,"y":217.00395584106445,"z":"941656e1.8095c8","wires":[["f588a589.b88298"]]},{"id":"f588a589.b88298","type":"set","name":"set tmp.siteVidx","xml":"<set>\n<parameter name='tmp.siteVidx' value='`$vidx`' />\n<parameter name='ctx.site.' value='`$service-data.vnfs.vnf[$vidx].`' />\n\n","comments":"","x":1943.0038299560547,"y":214.00395965576172,"z":"941656e1.8095c8","wires":[]},{"id":"ae71fbba.546708","type":"switchNode","name":"switch tmp.siteVidx","xml":"<switch test=\"`$tmp.siteVidx`\">\n\n","comments":"","outputs":1,"x":1234.6706581115723,"y":358.00397634506226,"z":"941656e1.8095c8","wires":[["3f02b2e3.e5e5ae"]]},{"id":"3f02b2e3.e5e5ae","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1409.0993690490723,"y":358.5754280090332,"z":"941656e1.8095c8","wires":[["54b3eb72.36f954"]]},{"id":"54b3eb72.36f954","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=\"ActivateSiteInstance not found in service-data\" />\n","comments":"","x":1551.5280876159668,"y":357.71829080581665,"z":"941656e1.8095c8","wires":[]},{"id":"97c6ed04.8c4b6","type":"switchNode","name":"switch deviceName match","xml":"<switch test=\"`$prop.wan.deviceName == $service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`\">\n\n\n","comments":"","outputs":1,"x":2465.671859741211,"y":488.0042247772217,"z":"941656e1.8095c8","wires":[["7cbc77f3.7157c8"]]},{"id":"fc9feae5.213678","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2548.3377990722656,"y":562.0040683746338,"z":"941656e1.8095c8","wires":[["6c43560b.6674b8","9ea18cc5.bcded"]]},{"id":"6c43560b.6674b8","type":"for","name":"for loop deviceidx - Get deviceId from servicedata","xml":"<for index=\"deviceidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2828.5349502563477,"y":557.0352573394775,"z":"941656e1.8095c8","wires":[["95b06241.a3403"]]},{"id":"95b06241.a3403","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2905.5356826782227,"y":621.0353565216064,"z":"941656e1.8095c8","wires":[["300379eb.34eba6"]]},{"id":"4003ca14.00a3a4","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=\".....\"/>\n<parameter name=\"field3\" value=\"prop.wan.deviceName\"/>\n<parameter name=\"field4\" value='`$prop.wan.deviceName`'/>\n","comments":"","outputs":1,"x":2151.535285949707,"y":229.0351734161377,"z":"941656e1.8095c8","wires":[[]]},{"id":"d40815b2.6f0e48","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":1277.003978729248,"y":252.0039234161377,"z":"941656e1.8095c8","wires":[["f0dc5ee5.ceaf8","50e23754.b09268"]]},{"id":"94bebe02.1a335","type":"set","name":"copy input data to service data","xml":"<set>\n<!--parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' /-->\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />","comments":"","x":712.0351943969727,"y":1374.5353388786316,"z":"941656e1.8095c8","wires":[]},{"id":"83fdb698.dfc008","type":"comment","name":"TODO: split ip/mask","info":"","comments":"","x":1098.00390625,"y":1067.5078134536743,"z":"941656e1.8095c8","wires":[]},{"id":"538e6756.86b638","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":950.0047798156738,"y":1020.3376731872559,"z":"941656e1.8095c8","wires":[["550c76f1.771f98"]]},{"id":"1b1c84a1.cf917b","type":"for","name":"for loop tidx - Get transportNetwork ID","xml":"<for index=\"tidx\" start=\"0\" end=\"`$transportNetworksResp.data.transportNetworks_length`\">\n    \n    \n","comments":"","outputs":1,"x":734.0043983459473,"y":1019.3374290466309,"z":"941656e1.8095c8","wires":[["538e6756.86b638"]]},{"id":"c375f7fa.294358","type":"set","name":"set wan portId to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='wanPortId' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.wan.wanPortId`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":713.0039215087891,"y":1324.254180431366,"z":"941656e1.8095c8","wires":[]},{"id":"626cbb77.e952f4","type":"call","name":"call sdwan-get-tenant-auth","xml":"<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-tenant-auth' mode='sync' >\n","comments":"","outputs":1,"x":706.00390625,"y":725.00390625,"z":"941656e1.8095c8","wires":[[]]},{"id":"c6f20e4e.e6f5","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1130.0079612731934,"y":1205.5078706741333,"z":"941656e1.8095c8","wires":[[]]}]
\ No newline at end of file
index b6ff38b..af6f26c 100644 (file)
     "id": "1d346910.f82317",
     "type": "execute",
     "name": "execute RestApiCallNode device port delete",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device-port-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/ports/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"portResp\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device-port-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/ports/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"portResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 773.0005130767822,
     "id": "b1683370.08944",
     "type": "execute",
     "name": "execute RestApiCallNode wan port delete",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-wan-port-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"portResp\"/>\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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-wan-port-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"portResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 764.0006809234619,
     "id": "ec6fef57.1d937",
     "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\"/>",
+    "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.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": 757.0002689361572,
index f6eb610..d017cac 100644 (file)
@@ -1 +1 @@
-[{"id":"587a4e4b.449f1","type":"dgstart","name":"DGSTART","outputs":1,"x":104.00390625,"y":51.99999871850014,"z":"b1d019b.6dbd8e8","wires":[["cf04b901.3d6f98"]]},{"id":"cf04b901.3d6f98","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":220.2895965576172,"y":103.23810639977455,"z":"b1d019b.6dbd8e8","wires":[["a2d12571.0378a8"]]},{"id":"a2d12571.0378a8","type":"method","name":"method sdwan-wanport-vnf-topology-operation-underlay","xml":"<method rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>\n","comments":"","outputs":1,"x":223.43252563476562,"y":188.00003018975258,"z":"b1d019b.6dbd8e8","wires":[["a47337eb.18b358"]]},{"id":"a47337eb.18b358","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":155.67059326171875,"y":296.6667315065861,"z":"b1d019b.6dbd8e8","wires":[["718fab21.36f054","3f81fe79.041ff2","f5abf897.1c94a8","e484905a.ff144","e2e0c9ba.1ae298"]]},{"id":"718fab21.36f054","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":590.004337310791,"y":435.66685262322426,"z":"b1d019b.6dbd8e8","wires":[["95ab5318.2e5c4"]]},{"id":"8881f8e.5bc9208","type":"set","name":"set prop.ar.allotted-resource-id","xml":"<set>\n<parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />\n","comments":"","x":1380.0052490234375,"y":124.96877732872963,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ca0bbb68.4e6518","type":"comment","name":"Query MDSAL for AR","info":"","comments":"","x":1705.3379211425781,"y":148.96864667534828,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"88a9e795.e489e8","type":"comment","name":"Query MDSAL to get parent service based on service instance id from AR","info":"","comments":"","x":2175.338779449463,"y":167.96862569451332,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"61804941.42b278","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1954.67232131958,"y":203.63526597619057,"z":"b1d019b.6dbd8e8","wires":[["b4949dcd.ebcd1"]]},{"id":"b4949dcd.ebcd1","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2109.672161102295,"y":203.1350990831852,"z":"b1d019b.6dbd8e8","wires":[["e88c8316.b28a7"]]},{"id":"4119fddc.bb6d24","type":"other","name":"outcome 1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":2433.3626976013184,"y":199.7542397081852,"z":"b1d019b.6dbd8e8","wires":[["e113bdd7.9bdab"]]},{"id":"672a20f.a0083e","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: Connection attachement resource not found\" />\n    \n","comments":"","x":2579.1314735412598,"y":239.20122781395912,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"17977b69.262195","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1947.5240478515625,"y":250.701272636652,"z":"b1d019b.6dbd8e8","wires":[["4a7edd74.b9a034"]]},{"id":"4a7edd74.b9a034","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2097.5238914489746,"y":251.36782804131508,"z":"b1d019b.6dbd8e8","wires":[["889c4ad9.edb108"]]},{"id":"f51f9f7c.c2466","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2421.6906509399414,"y":237.034599930048,"z":"b1d019b.6dbd8e8","wires":[["672a20f.a0083e"]]},{"id":"e88c8316.b28a7","type":"switchNode","name":"switch cr length","xml":"<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n","comments":"","outputs":1,"x":2273.672336578369,"y":203.63528218865395,"z":"b1d019b.6dbd8e8","wires":[["4119fddc.bb6d24","f51f9f7c.c2466"]]},{"id":"ad5ef81b.eca5b8","type":"set","name":"set parent-service-instance-id","xml":"<set>\n<parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n\n","comments":"","x":2829.0059356689453,"y":200.63526311516762,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e113bdd7.9bdab","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2583.4817276000977,"y":199.80179944634438,"z":"b1d019b.6dbd8e8","wires":[["ad5ef81b.eca5b8","5b3adfc2.d795f"]]},{"id":"889c4ad9.edb108","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: Connection attachement resource not found\" />\n    \n","comments":"","x":2265.005344390869,"y":249.63520398736,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"936de3e0.c6a2e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2052.307460784912,"y":521.7709299623966,"z":"b1d019b.6dbd8e8","wires":[["2fdbbace.5a0386"]]},{"id":"56dafc4a.8aaae4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2044.1592636108398,"y":556.837014824152,"z":"b1d019b.6dbd8e8","wires":[["2a42a293.fba3ae"]]},{"id":"2a42a293.fba3ae","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":2190.308036804199,"y":557.1045109331608,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2fdbbace.5a0386","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2172.3077087402344,"y":521.7710129320621,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a13ee754.9515f8","type":"for","name":"for pnidx.. mdsal-psd.networks.network_length[]","xml":"<for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\n","comments":"","outputs":1,"x":1735.6722564697266,"y":621.3028880655766,"z":"b1d019b.6dbd8e8","wires":[["684cbe0.d0ae544"]]},{"id":"9bdd2027.61dcf","type":"switchNode","name":"switch ActivateSDWANConnectivityInstance","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2265.3388900756836,"y":590.302889496088,"z":"b1d019b.6dbd8e8","wires":[["4800da5e.9f4d14"]]},{"id":"4800da5e.9f4d14","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2517.338424682617,"y":591.3028270304203,"z":"b1d019b.6dbd8e8","wires":[["e64d626e.5a50e"]]},{"id":"e64d626e.5a50e","type":"set","name":"set tmp.pnidx ","xml":"<set>\n<parameter name='tmp.pnidx' value='`$pnidx`' />\n\n","comments":"","x":2673.3381118774414,"y":591.3028270304203,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"dd934675.d4e888","type":"for","name":"for loop paramidx - Get topology from servicedata","xml":"<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":1667.3390655517578,"y":706.3025175631046,"z":"b1d019b.6dbd8e8","wires":[["8db55ac9.a24998"]]},{"id":"62066499.8552ec","type":"switchNode","name":"switch topology","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n","comments":"","outputs":1,"x":2119.339157104492,"y":685.3024231493473,"z":"b1d019b.6dbd8e8","wires":[["4f33474b.e43bc8"]]},{"id":"4f33474b.e43bc8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2270.339168548584,"y":683.3024651110172,"z":"b1d019b.6dbd8e8","wires":[["8246d892.e05918"]]},{"id":"8246d892.e05918","type":"set","name":"set topology","xml":"<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n","comments":"","x":2411.338897705078,"y":682.9023987352848,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"88c5e553.ee7048","type":"switchNode","name":"switch tmp.pnidx ","xml":"<switch test=\"`$tmp.pnidx`\">\n\n","comments":"","outputs":1,"x":1638.338882446289,"y":665.9690901339054,"z":"b1d019b.6dbd8e8","wires":[["11715e8.eb7eca2"]]},{"id":"11715e8.eb7eca2","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1793.7675552368164,"y":664.5404697954655,"z":"b1d019b.6dbd8e8","wires":[["49bf685a.de5378"]]},{"id":"49bf685a.de5378","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":1934.1961784362793,"y":665.6835590898991,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"de9858f.b81a8a8","type":"switchNode","name":"switch topology hub-spoke","xml":"<switch test=\"`$prop.topology == 'hub-spoke'`\">\n","comments":"","outputs":1,"x":1546.3387489318848,"y":768.3023392260075,"z":"b1d019b.6dbd8e8","wires":[["24d293b9.ebe98c","4bfa75a0.97649c"]]},{"id":"24d293b9.ebe98c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1736.338436126709,"y":793.3028246462345,"z":"b1d019b.6dbd8e8","wires":[["fc31272f.d20a28"]]},{"id":"4bfa75a0.97649c","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1730.3393630981445,"y":754.3024870455265,"z":"b1d019b.6dbd8e8","wires":[["a1325102.a1698"]]},{"id":"a1325102.a1698","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1866.3393669128418,"y":754.3024260103703,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"fc31272f.d20a28","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1741.67138671875,"y":861.3020588457584,"z":"b1d019b.6dbd8e8","wires":[["e126a9e.93d2358"]]},{"id":"e126a9e.93d2358","type":"for","name":"for ppidx.. mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]","xml":"<for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n","comments":"","outputs":1,"x":2149.004638671875,"y":861.6356770098209,"z":"b1d019b.6dbd8e8","wires":[["a3874818.96b4a8"]]},{"id":"fafd1fed.9ce1b","type":"set","name":"set prop.ar.provided-allotted-resource-id","xml":"<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />\n\n","comments":"","x":2240.0057525634766,"y":939.6359750330448,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8b5306cb.0a00b8","type":"for","name":"for loop aridx - Get role from allotted resource","xml":"<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2258.0064544677734,"y":1050.3027664721012,"z":"b1d019b.6dbd8e8","wires":[["35d495b.f10696a"]]},{"id":"2ab4ecb3.a0e7b4","type":"switchNode","name":"switch Role","xml":"<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`\">\n","comments":"","outputs":1,"x":2667.006565093994,"y":1053.302853256464,"z":"b1d019b.6dbd8e8","wires":[["f82626a6.b9ef58"]]},{"id":"f82626a6.b9ef58","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2808.0068969726562,"y":1052.3028523027897,"z":"b1d019b.6dbd8e8","wires":[["7f118497.e5e81c"]]},{"id":"7f118497.e5e81c","type":"set","name":"set prop.role","xml":"<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n","comments":"","x":2949.0069313049316,"y":1053.9027439653873,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9f0875d3.47e2b8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2744.0059509277344,"y":956.9692687094212,"z":"b1d019b.6dbd8e8","wires":[["36139e8.434ce62"]]},{"id":"807962c4.90f77","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2740.8576736450195,"y":1011.0353519022465,"z":"b1d019b.6dbd8e8","wires":[["9edc0016.5374a"]]},{"id":"dbadbe13.1677b","type":"switchNode","name":"switch role hub","xml":"<switch test=\"`$prop.role == hub`\">\n","comments":"","outputs":1,"x":2124.3390884399414,"y":1115.635806709528,"z":"b1d019b.6dbd8e8","wires":[["dcf9daa3.e54cc8","5d1cf617.14b6b8"]]},{"id":"9271766e.fe0c48","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2440.3384742736816,"y":1091.6354099810123,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"6d9b82e0.ee0e5c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2850.3081092834473,"y":1187.1045166552067,"z":"b1d019b.6dbd8e8","wires":[["f48b85ad.740008"]]},{"id":"1f5ff987.3fd166","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2852.159679412842,"y":1247.170598655939,"z":"b1d019b.6dbd8e8","wires":[["f995184a.d07fa8"]]},{"id":"f995184a.d07fa8","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: SDWAN service-data not found\" />\n    \n","comments":"","x":2996.308452606201,"y":1209.4380127489567,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f48b85ad.740008","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2980.3081283569336,"y":1176.1046768724918,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"928e3eb0.849cd","type":"set","name":"set prop.ar-service-instance-id","xml":"<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n","comments":"","x":2452.3395080566406,"y":1175.6360094845295,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3730c8a.de81d38","type":"for","name":"for arvidx.. mdsal-arsd.service-data.vnfs.vnf_length[]","xml":"<for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":2496.0059814453125,"y":1297.6357990801334,"z":"b1d019b.6dbd8e8","wires":[["993a1752.84b598"]]},{"id":"993a1752.84b598","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2842.6723022460938,"y":1287.6357752382755,"z":"b1d019b.6dbd8e8","wires":[["9bd685d3.b9a5b8","2be5604d.8b517","34da5cb3.ec0254"]]},{"id":"9bd685d3.b9a5b8","type":"switchNode","name":"switch ActivateSDWANPortInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n\n","comments":"","outputs":1,"x":3104.672410964966,"y":1258.6367346346378,"z":"b1d019b.6dbd8e8","wires":[["22ea8a6b.a17296"]]},{"id":"2f97be15.e601c2","type":"switchNode","name":"switch tmp.wanportvidx ","xml":"<switch test=\"`$tmp.wanportvidx`\">\n\n","comments":"","outputs":1,"x":2577.672119140625,"y":1342.3024441301823,"z":"b1d019b.6dbd8e8","wires":[["54e2ca7c.2e5f44"]]},{"id":"43b2a05a.a7d9b","type":"for","name":"for loop wportidx - Get wan port ID from servicedata","xml":"<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":3759.6728897094727,"y":1251.6369148790836,"z":"b1d019b.6dbd8e8","wires":[["bca2a06e.4f682"]]},{"id":"54e2ca7c.2e5f44","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2749.100841522217,"y":1345.8741499483585,"z":"b1d019b.6dbd8e8","wires":[["2f27c837.ae4c68"]]},{"id":"2f27c837.ae4c68","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 (port) not found in service-data\" />\n","comments":"","x":2893.529556274414,"y":1348.0174299776554,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"22ea8a6b.a17296","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3332.67209815979,"y":1256.6367355883121,"z":"b1d019b.6dbd8e8","wires":[["2c880b10.265824"]]},{"id":"bca2a06e.4f682","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3711.6741046905518,"y":1335.6374413073063,"z":"b1d019b.6dbd8e8","wires":[["960aea00.c2c228"]]},{"id":"960aea00.c2c228","type":"switchNode","name":"switch transportNetworkName","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`\">\n","comments":"","outputs":1,"x":3929.6750202178955,"y":1333.6379295885563,"z":"b1d019b.6dbd8e8","wires":[["19a0a134.cbff5f"]]},{"id":"c82b1262.885e1","type":"set","name":"set tmp.portvidx ","xml":"<set>\n<parameter name='tmp.portvidx' value='`$arvidx`' />\n\n","comments":"","x":3656.671901702881,"y":1209.6369024813175,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"19a0a134.cbff5f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4126.675447463989,"y":1332.6380983889103,"z":"b1d019b.6dbd8e8","wires":[["27cac422.cfe53c"]]},{"id":"b05226c4.bd3a28","type":"set","name":"set prop.hub.transportNetworkName","xml":"<set>\n<parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":4383.6772813797,"y":1532.2391153872013,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f4c45443.bb3768","type":"switchNode","name":"switch  prop.hub.transportNetworkName==prop.spoke.transportNetworkName","xml":"<switch test=\"`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`\">\n","comments":"","outputs":1,"x":2576.00821685791,"y":1492.3046661913395,"z":"b1d019b.6dbd8e8","wires":[["29701c33.546bc4","9d7af116.cbe09"]]},{"id":"29701c33.546bc4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2922.0077476501465,"y":1529.304740101099,"z":"b1d019b.6dbd8e8","wires":[["f21133c1.0bade"]]},{"id":"9d7af116.cbe09","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2916.008556365967,"y":1466.3046003878117,"z":"b1d019b.6dbd8e8","wires":[["35e3a287.99da5e"]]},{"id":"35e3a287.99da5e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3046.008743286133,"y":1466.3047529757023,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a3874818.96b4a8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1891.0361328125,"y":970.8333088457584,"z":"b1d019b.6dbd8e8","wires":[["fafd1fed.9ce1b","252298c8.827288","de70a181.95e65","dbadbe13.1677b","8b5306cb.0a00b8"]]},{"id":"40faa7d6.f30958","type":"switchNode","name":"switch vpnId","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`\">\n","comments":"","outputs":1,"x":2109.005172729492,"y":729.6354338228703,"z":"b1d019b.6dbd8e8","wires":[["244fa8f2.0e98c8"]]},{"id":"244fa8f2.0e98c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2253.005184173584,"y":729.6354748308659,"z":"b1d019b.6dbd8e8","wires":[["542e22e9.06eebc"]]},{"id":"542e22e9.06eebc","type":"set","name":"set prop.vpnId","xml":"<set>\n<parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n","comments":"","x":2411.0049057006836,"y":728.2354094088078,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3945c5e7.6c14ea","type":"set","name":"Set prop.hubTnpId","xml":"<set>\n<parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />\n\n","comments":"","x":2628.3407135009766,"y":1765.636424690485,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"32aaac62.305534","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\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":3449.34015083313,"y":2597.9708580076694,"z":"b1d019b.6dbd8e8","wires":[["89fb14c8.94ed18","c79239ca.a0f328"]]},{"id":"c79239ca.a0f328","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3716.3400592803955,"y":2625.9708875715733,"z":"b1d019b.6dbd8e8","wires":[["3b45764d.017e4a"]]},{"id":"89fb14c8.94ed18","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3714.339738845825,"y":2581.97087803483,"z":"b1d019b.6dbd8e8","wires":[["a62325e4.8d0b68"]]},{"id":"d9e2a3b8.be3d7","type":"set","name":"Add prop.hub.route","xml":"<set>\n<parameter name='prop.route.id' value='`$prop.hubRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n","comments":"","x":3393.6735305786133,"y":2554.6373659670353,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b552a294.7e377","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\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":3468.6735305786133,"y":2696.637831121683,"z":"b1d019b.6dbd8e8","wires":[["a12e36eb.943458","ededbddd.7250a"]]},{"id":"ededbddd.7250a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3720.673677444458,"y":2725.6381277143955,"z":"b1d019b.6dbd8e8","wires":[["29ad144c.f2690c"]]},{"id":"a12e36eb.943458","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3718.6733570098877,"y":2681.6381181776524,"z":"b1d019b.6dbd8e8","wires":[["8c851f6f.caa55"]]},{"id":"92a20fbe.e0e62","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 sdwan spoke route underlay rest api\" />\n","comments":"","x":4008.6742248535156,"y":2675.6383101046085,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2be5604d.8b517","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":3115.535987854004,"y":1291.833693176508,"z":"b1d019b.6dbd8e8","wires":[["46f77d85.1bbce4"]]},{"id":"75db0ba8.f32084","type":"switchNode","name":"switch tmp.devicevidx ","xml":"<switch test=\"`$tmp.devicevidx`\">\n\n","comments":"","outputs":1,"x":2583.5355377197266,"y":1384.4999252855778,"z":"b1d019b.6dbd8e8","wires":[["294637bf.dcbd08"]]},{"id":"294637bf.dcbd08","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2749.9639739990234,"y":1384.0714584887028,"z":"b1d019b.6dbd8e8","wires":[["a4ca51de.1aa11"]]},{"id":"a4ca51de.1aa11","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 (device) not found in service-data\" />\n","comments":"","x":2890.392906188965,"y":1386.2144333422184,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"46f77d85.1bbce4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3343.535675048828,"y":1289.8336941301823,"z":"b1d019b.6dbd8e8","wires":[["b2e4dc18.108ae"]]},{"id":"b2e4dc18.108ae","type":"set","name":"set tmp.devicevidx ","xml":"<set>\n<parameter name='tmp.devicevidx' value='`$arvidx`' />\n\n","comments":"","x":3498.535358428955,"y":1289.833693176508,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"34da5cb3.ec0254","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":3078.5360584259033,"y":1325.8337570726871,"z":"b1d019b.6dbd8e8","wires":[["1e8bb4ff.b8f57b"]]},{"id":"c3aa018f.4dc1a","type":"switchNode","name":"switch tmp.sitevidx ","xml":"<switch test=\"`$tmp.sitevidx`\">\n\n","comments":"","outputs":1,"x":2582.5354080200195,"y":1422.4998032152653,"z":"b1d019b.6dbd8e8","wires":[["1f12a8eb.1a8507"]]},{"id":"1f12a8eb.1a8507","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2742.963872909546,"y":1422.0713230669498,"z":"b1d019b.6dbd8e8","wires":[["b92b68d7.8e4328"]]},{"id":"b92b68d7.8e4328","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 (site) not found in service-data\" />\n","comments":"","x":2891.392827987671,"y":1424.214329391718,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"1e8bb4ff.b8f57b","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3266.535623550415,"y":1325.8339230120182,"z":"b1d019b.6dbd8e8","wires":[["4cf0c35.9e60c3c"]]},{"id":"4cf0c35.9e60c3c","type":"set","name":"set tmp.sitevidx ","xml":"<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n","comments":"","x":3421.535306930542,"y":1325.833922058344,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6de714ed.d3061c","type":"for","name":"for loop deviceidx - Get wan port ID from servicedata","xml":"<for index=\"deviceidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2715.5372161865234,"y":1807.8342405855656,"z":"b1d019b.6dbd8e8","wires":[["3adcf839.875688"]]},{"id":"e169850b.ca2b98","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3200.5384674072266,"y":1738.8350941240788,"z":"b1d019b.6dbd8e8","wires":[["7f1b4a03.77b0c4"]]},{"id":"7f1b4a03.77b0c4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3351.5388412475586,"y":1735.8353382647038,"z":"b1d019b.6dbd8e8","wires":[["8b5c9421.71a558"]]},{"id":"8b5c9421.71a558","type":"set","name":"set prop.hub.deviceId","xml":"<set>\n<parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n","comments":"","x":3526.539089202881,"y":1735.4358631670475,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8506f90c.f30458","type":"for","name":"for loop siteidx - Get site ID from servicedata","xml":"<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2682.0370330810547,"y":1869.8342100679874,"z":"b1d019b.6dbd8e8","wires":[["ff9f298a.cca7f8"]]},{"id":"8d61be2.a51494","type":"comment","name":"Add route src->dst, dst->src","info":"","comments":"","x":3017.672622680664,"y":1886.6360289156437,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e5d1673d.e9dbe8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2127.338134765625,"y":1247.9687458574772,"z":"b1d019b.6dbd8e8","wires":[["3730c8a.de81d38","f4c45443.bb3768","3d7d87cf.2688a8","928e3eb0.849cd","e69efead.6b9ed","2aa6f09e.c6474"]]},{"id":"3d7d87cf.2688a8","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2382.337890625,"y":1384.3021198809147,"z":"b1d019b.6dbd8e8","wires":[["75db0ba8.f32084","c3aa018f.4dc1a","2f97be15.e601c2"]]},{"id":"f21133c1.0bade","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2402.3389282226562,"y":1756.6356417238712,"z":"b1d019b.6dbd8e8","wires":[["3945c5e7.6c14ea","6de714ed.d3061c","8506f90c.f30458","23a8e35f.4687ac","eb5f2e.bb7a50d"]]},{"id":"7877847f.fa07bc","type":"set","name":"Add prop.spoke.route","xml":"<set>\n<parameter name='prop.route.id' value='`$prop.spokeRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n\n\n","comments":"","x":3403.537546157837,"y":2665.3345922529697,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3f81fe79.041ff2","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":352.3382110595703,"y":1122.3343378603458,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"52b0eddb.8791b4","type":"execute","name":"generate connection attachment 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-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":1401.6711120605469,"y":184.3018356859684,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"532b1f7d.9c604","type":"execute","name":"execute RestApiCallNode - get-resource connection-attachment-allotted-resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1528.671142578125,"y":232.30182614922523,"z":"b1d019b.6dbd8e8","wires":[["61804941.42b278","17977b69.262195"]]},{"id":"1eb0dd45.2d88f3","type":"execute","name":"execute RestApiCallNode - get parent service data","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n","comments":"","outputs":1,"x":1753.0052947998047,"y":566.3021399080753,"z":"b1d019b.6dbd8e8","wires":[["936de3e0.c6a2e","56dafc4a.8aaae4"]]},{"id":"4ecf397b.0a23f8","type":"execute","name":"generate connection attachment parent url ","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-parent-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.parent-service-instance-id`\"/>\n","comments":"","outputs":1,"x":1730.0049438476562,"y":512.3020674288273,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"43c6b758.a87968","type":"comment","name":"full mesh do nothing","info":"","comments":"","x":1564.671745300293,"y":723.3021055757999,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"717df1f.c979e1","type":"comment","name":"hub-spoke","info":"","comments":"","x":2565.6711463928223,"y":820.3019954264164,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"252298c8.827288","type":"execute","name":"generate connection attachment 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-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":2238.0042991638184,"y":971.3019906580448,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"de70a181.95e65","type":"execute","name":"execute RestApiCallNode - get-resource connection-attachment-allotted-resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n","comments":"","outputs":1,"x":2369.004379272461,"y":1010.9686204493046,"z":"b1d019b.6dbd8e8","wires":[["9f0875d3.47e2b8","807962c4.90f77"]]},{"id":"e69efead.6b9ed","type":"execute","name":"generate service data url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n","comments":"","outputs":1,"x":2419.508274078369,"y":1212.3058907091618,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2aa6f09e.c6474","type":"execute","name":"execute RestApiCallNode - get service data of allotted resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-arsd\" />\n\n","comments":"","outputs":1,"x":2535.5084075927734,"y":1249.3057819902897,"z":"b1d019b.6dbd8e8","wires":[["6d9b82e0.ee0e5c","1f5ff987.3fd166"]]},{"id":"5d1cf617.14b6b8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2299.5039710998535,"y":1134.8018547594547,"z":"b1d019b.6dbd8e8","wires":[["e5d1673d.e9dbe8"]]},{"id":"dcf9daa3.e54cc8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2305.504219055176,"y":1091.801946312189,"z":"b1d019b.6dbd8e8","wires":[["9271766e.fe0c48"]]},{"id":"5b3adfc2.d795f","type":"for","name":"for loop roleidx - Get role from allotted resource","xml":"<for index=\"roleidx\" start=\"0\" end=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2880.5047760009766,"y":239.3017717897892,"z":"b1d019b.6dbd8e8","wires":[["a590c534.c72538"]]},{"id":"a590c534.c72538","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3139.5050888061523,"y":238.30208745598793,"z":"b1d019b.6dbd8e8","wires":[["24fabbc8.4ee6a4"]]},{"id":"24fabbc8.4ee6a4","type":"switchNode","name":"switch Role","xml":"<switch test=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`\">\n","comments":"","outputs":1,"x":3288.505100250244,"y":239.30192437767982,"z":"b1d019b.6dbd8e8","wires":[["13c03783.386d28"]]},{"id":"f7ff32b9.16d69","type":"set","name":"set prop.spoke.role","xml":"<set>\n<parameter name='prop.spoke.role' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />\n","comments":"","x":3593.505661010742,"y":236.90183225274086,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"13c03783.386d28","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3424.00492477417,"y":236.30176416039467,"z":"b1d019b.6dbd8e8","wires":[["f7ff32b9.16d69"]]},{"id":"30347a07.26c8f6","type":"switchNode","name":"switch spoke","xml":"<switch test=\"`$prop.spoke.role == 'spoke'`\">\n","comments":"","outputs":1,"x":1316.004280090332,"y":383.30169931054115,"z":"b1d019b.6dbd8e8","wires":[["2d380018.3e87c"]]},{"id":"2d380018.3e87c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1457.004035949707,"y":384.3017365038395,"z":"b1d019b.6dbd8e8","wires":[["1b9dfff3.6a8e9"]]},{"id":"356b426.2684ebe","type":"for","name":"for i.. service-data.vnfs.vnf_length[]","xml":"<for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1729.5045623779297,"y":438.3017317354679,"z":"b1d019b.6dbd8e8","wires":[["bfdedc49.050ca"]]},{"id":"bfdedc49.050ca","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2063.170753479004,"y":382.3016621172428,"z":"b1d019b.6dbd8e8","wires":[["fd950685.06ac48","2d8b9375.2ddaac","257f4a9c.1ed446"]]},{"id":"fd950685.06ac48","type":"switchNode","name":"switch ActivateSDWANPortInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2334.1707916259766,"y":328.3025485575199,"z":"b1d019b.6dbd8e8","wires":[["fc67008d.091db"]]},{"id":"fc67008d.091db","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2547.170555114746,"y":329.30255141854286,"z":"b1d019b.6dbd8e8","wires":[["1a445db7.1fd752"]]},{"id":"1a445db7.1fd752","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2696.0042991638184,"y":331.3017407953739,"z":"b1d019b.6dbd8e8","wires":[["3c007d2e.edc602"]]},{"id":"3c007d2e.edc602","type":"for","name":"for loop widx - Get wan port ID from servicedata","xml":"<for index=\"widx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2969.004249572754,"y":329.66895881295204,"z":"b1d019b.6dbd8e8","wires":[["f1345e2.c9f7ea"]]},{"id":"f1345e2.c9f7ea","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3238.0051765441895,"y":328.6692048609257,"z":"b1d019b.6dbd8e8","wires":[["ba5679ba.3ede18","3e5320cd.89f1e","efdc38fc.1f5628","8e38557b.879d28"]]},{"id":"ba5679ba.3ede18","type":"switchNode","name":"switch transportNetworkName","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`\">\n","comments":"","outputs":1,"x":3481.0062103271484,"y":283.66977801918983,"z":"b1d019b.6dbd8e8","wires":[["8f69b44d.c2f088"]]},{"id":"8f69b44d.c2f088","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3681.0059852600098,"y":283.6699401438236,"z":"b1d019b.6dbd8e8","wires":[["a5483223.dc4b1"]]},{"id":"a5483223.dc4b1","type":"set","name":"set prop.spoke.transportNetworkName","xml":"<set>\n<parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3908.006721496582,"y":285.27052226662636,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"1b9dfff3.6a8e9","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1209.9733276367188,"y":694.270647674799,"z":"b1d019b.6dbd8e8","wires":[["356b426.2684ebe","4ecf397b.0a23f8","1eb0dd45.2d88f3","a13ee754.9515f8","dd934675.d4e888","de9858f.b81a8a8","88c5e553.ee7048","2e975a9d.1a4246"]]},{"id":"2d8b9375.2ddaac","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2326.5042266845703,"y":402.30175319314003,"z":"b1d019b.6dbd8e8","wires":[["74821dd.148afe4"]]},{"id":"74821dd.148afe4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2545.5039768218994,"y":403.30173793435097,"z":"b1d019b.6dbd8e8","wires":[["c6b3d98e.b714c8"]]},{"id":"c6b3d98e.b714c8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2696.3379669189453,"y":409.30092921853065,"z":"b1d019b.6dbd8e8","wires":[["57f2bdad.e02274"]]},{"id":"57f2bdad.e02274","type":"for","name":"for loop didx - Get device ID from servicedata","xml":"<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2955.338218688965,"y":411.6682244837284,"z":"b1d019b.6dbd8e8","wires":[["ca5f7c6e.be6de"]]},{"id":"ca5f7c6e.be6de","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3241.338726043701,"y":444.6684094965458,"z":"b1d019b.6dbd8e8","wires":[["a11b64a3.1c2778"]]},{"id":"a11b64a3.1c2778","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3424.3396377563477,"y":444.6690198481083,"z":"b1d019b.6dbd8e8","wires":[["b3a0e9d7.649ff8"]]},{"id":"b3a0e9d7.649ff8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3624.339412689209,"y":444.6691819727421,"z":"b1d019b.6dbd8e8","wires":[["a6327912.f3f9d8"]]},{"id":"a6327912.f3f9d8","type":"set","name":"set prop.spoke.deviceId","xml":"<set>\n<parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />\n","comments":"","x":3819.3400955200195,"y":441.2697631418705,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"257f4a9c.1ed446","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2305.5043411254883,"y":463.30178466439247,"z":"b1d019b.6dbd8e8","wires":[["9ba2d06.8f6be3"]]},{"id":"9ba2d06.8f6be3","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2539.503978729248,"y":464.30172458291054,"z":"b1d019b.6dbd8e8","wires":[["a15d8c7c.78012"]]},{"id":"a15d8c7c.78012","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2691.3379669189453,"y":486.3009606897831,"z":"b1d019b.6dbd8e8","wires":[["44322235.a2372c","d545295b.570bb8"]]},{"id":"44322235.a2372c","type":"for","name":"for loop widx - Get wan site ID from servicedata","xml":"<for index=\"sidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2972.3377990722656,"y":485.66816344857216,"z":"b1d019b.6dbd8e8","wires":[["e3395281.b0fe4"]]},{"id":"e3395281.b0fe4","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3241.338726043701,"y":484.6684094965458,"z":"b1d019b.6dbd8e8","wires":[["2466c56a.c4304a","fe259139.fb262","9b298a8b.b4f888"]]},{"id":"2466c56a.c4304a","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":3430.33992767334,"y":534.6690813601017,"z":"b1d019b.6dbd8e8","wires":[["8bd2628f.d7e06"]]},{"id":"8bd2628f.d7e06","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3630.3394050598145,"y":522.6691958010197,"z":"b1d019b.6dbd8e8","wires":[["4379d5c4.4bf5fc"]]},{"id":"4379d5c4.4bf5fc","type":"set","name":"set prop.spoke.siteId","xml":"<set>\n<parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":3823.340358734131,"y":529.2698260843754,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3e5320cd.89f1e","type":"switchNode","name":"switch wanPortId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`\">\n","comments":"","outputs":1,"x":3454.50390625,"y":320.3018342554569,"z":"b1d019b.6dbd8e8","wires":[["42e60a6a.aa3574"]]},{"id":"42e60a6a.aa3574","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3684.5039100646973,"y":320.30194583535194,"z":"b1d019b.6dbd8e8","wires":[["ae0a5d97.a78e5"]]},{"id":"ae0a5d97.a78e5","type":"set","name":"set prop.spoke.wanPortId","xml":"<set>\n<parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3911.5046463012695,"y":321.9025279581547,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"efdc38fc.1f5628","type":"switchNode","name":"switch providerIpAddress","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`\">\n","comments":"","outputs":1,"x":3472.504066467285,"y":364.30178466439247,"z":"b1d019b.6dbd8e8","wires":[["ac0b6cb5.77b59"]]},{"id":"ac0b6cb5.77b59","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3672.5038414001465,"y":364.30194678902626,"z":"b1d019b.6dbd8e8","wires":[["f9d16c81.a3a79"]]},{"id":"f9d16c81.a3a79","type":"set","name":"set prop.spoke.providerIpAddress","xml":"<set>\n<parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3899.5045776367188,"y":365.902528911829,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8e38557b.879d28","type":"switchNode","name":"switch ipAddress","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`\">\n","comments":"","outputs":1,"x":3452.503894805908,"y":403.3018209040165,"z":"b1d019b.6dbd8e8","wires":[["3e49c027.9158a"]]},{"id":"3e49c027.9158a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3676.5037231445312,"y":403.3019382059574,"z":"b1d019b.6dbd8e8","wires":[["63fb7b99.9c4f54"]]},{"id":"63fb7b99.9c4f54","type":"set","name":"set prop.spoke.ipAddress","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3903.5044593811035,"y":404.90252032876015,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"95ab5318.2e5c4","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1020.0038070678711,"y":262.50004068017006,"z":"b1d019b.6dbd8e8","wires":[["8881f8e.5bc9208","52b0eddb.8791b4","532b1f7d.9c604","30347a07.26c8f6"]]},{"id":"6dbd8249.403ccc","type":"comment","name":"get spoke device,site,wanport info","info":"","comments":"","x":1776.97265625,"y":385.9687458574772,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6c52be5d.b4d02","type":"comment","name":"Add routes only on activation of spoke Attach site","info":"","comments":"","x":1437.5038223266602,"y":329.0000597536564,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ac54d054.7cd81","type":"comment","name":"Loop for all the hub allotted resources, get respective service data and get vnfs info","info":"","comments":"","x":2193.50390625,"y":824.5000559389591,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ff9f298a.cca7f8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2957.5037384033203,"y":1845.000134140253,"z":"b1d019b.6dbd8e8","wires":[["d59362d2.ef947","b082a709.11f708"]]},{"id":"3adcf839.875688","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3024.5037384033203,"y":1741.000010162592,"z":"b1d019b.6dbd8e8","wires":[["e169850b.ca2b98"]]},{"id":"d59362d2.ef947","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":3134.503547668457,"y":1816.9998003542423,"z":"b1d019b.6dbd8e8","wires":[["6377b71d.78eda8"]]},{"id":"6377b71d.78eda8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3285.503917694092,"y":1815.999983459711,"z":"b1d019b.6dbd8e8","wires":[["d846e28e.6f3b8"]]},{"id":"d846e28e.6f3b8","type":"set","name":"set prop.hub.siteId","xml":"<set>\n<parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n","comments":"","x":3457.5039253234863,"y":1813.6005522310734,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"23a8e35f.4687ac","type":"switchNode","name":"switch request-action","xml":"<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":2611.0036544799805,"y":2169.000444084406,"z":"b1d019b.6dbd8e8","wires":[["98e33ddb.b0dca","c2b4abbd.4bca28"]]},{"id":"98e33ddb.b0dca","type":"outcome","name":"ActivateSDWANAttachmentInstance","xml":"<outcome value='ActivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":2881.0310592651367,"y":1980.0314766466618,"z":"b1d019b.6dbd8e8","wires":[["6bb4758a.3f2dbc"]]},{"id":"d343e9eb.f9d438","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\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":3469.504180908203,"y":1950.0004482269287,"z":"b1d019b.6dbd8e8","wires":[["6e0b715b.cb6d1","1b5945c5.1fa10a"]]},{"id":"1b5945c5.1fa10a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3716.504009246826,"y":1929.000280380249,"z":"b1d019b.6dbd8e8","wires":[["2019f4f3.e1c6cc"]]},{"id":"6e0b715b.cb6d1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3714.503688812256,"y":1885.0002708435059,"z":"b1d019b.6dbd8e8","wires":[["76b9bae0.83f2b4"]]},{"id":"df42caf7.594ce8","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 sdwan hub route underlay rest api\" />\n","comments":"","x":4002.505043029785,"y":1884.0006313323975,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"543ffebe.107f8","type":"set","name":"Add prop.hub.route","xml":"<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n","comments":"","x":3404.8377838134766,"y":1920.6669883728027,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2e8b8d76.b2d882","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\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":3486.838050842285,"y":2114.667499214411,"z":"b1d019b.6dbd8e8","wires":[["9396f713.11f4f8","348aaf89.0950a"]]},{"id":"348aaf89.0950a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3731.8382873535156,"y":2140.667496204376,"z":"b1d019b.6dbd8e8","wires":[["928f88f0.d6ee18"]]},{"id":"9396f713.11f4f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3729.8379669189453,"y":2096.667486667633,"z":"b1d019b.6dbd8e8","wires":[["58d448af.a07fd8"]]},{"id":"38cd6644.9bd7ea","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 sdwan spoke route underlay rest api\" />\n","comments":"","x":4019.8393936157227,"y":2089.6679944992065,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b2b73fd8.a499a","type":"set","name":"Add prop.spoke.route","xml":"<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />                                                \n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n","comments":"","x":3427.7019233703613,"y":2077.3642114698887,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f670e4e2.ed4a18","type":"set","name":"set  prop.underlay.routeIds","xml":"<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<!--parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeSiteId' value='`$prop.spoke.siteId`' /-->\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$underlayHubResp.success[0].id`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$underlayspokeResp.success[0].id`' />\n\n\n\n","comments":"","x":3437.669448852539,"y":2237.0309874117374,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6bb4758a.3f2dbc","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3117.003578186035,"y":1977.4999100267887,"z":"b1d019b.6dbd8e8","wires":[["543ffebe.107f8","b2b73fd8.a499a","f670e4e2.ed4a18","2e8b8d76.b2d882","d343e9eb.f9d438","154b4cb.99625b3","497ef4.1532d10c","7ece27e0.0e9908","aeaf4169.ad4e1","7b6ea599.d556bc"]]},{"id":"cda2bd2c.f7f2b","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3149.0036811828613,"y":2619.500260025263,"z":"b1d019b.6dbd8e8","wires":[["d9e2a3b8.be3d7","7877847f.fa07bc","32aaac62.305534","b552a294.7e377","4d9ba6d6.4948a8","5011194.82bcce8","aa5933c2.13ab"]]},{"id":"c2b4abbd.4bca28","type":"outcome","name":"DeactivateSDWANAttachmentInstance","xml":"<outcome value='DeactivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":2897.5037384033203,"y":2613.500071197748,"z":"b1d019b.6dbd8e8","wires":[["cda2bd2c.f7f2b"]]},{"id":"497ef4.1532d10c","type":"set","name":"Add sites to list and update length","xml":"<set>\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />\n\n\n\n\n\n\n\n\n\n\n\n\n\n","comments":"","x":3442.0357360839844,"y":2362.0318676531315,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"536b45e5.f1ae4c","type":"comment","name":"save hubsiteIds and spoke siteIds for provision","info":"","comments":"","x":3474.0361099243164,"y":2318.0317417681217,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"fe259139.fb262","type":"switchNode","name":"switch name","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`\">\n","comments":"","outputs":1,"x":3431.034912109375,"y":484.03124871850014,"z":"b1d019b.6dbd8e8","wires":[["1eff9aea.08d565"]]},{"id":"1eff9aea.08d565","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3631.0346870422363,"y":484.0314108431339,"z":"b1d019b.6dbd8e8","wires":[["498b6b56.a99af4"]]},{"id":"498b6b56.a99af4","type":"set","name":"set prop.spoke.siteName","xml":"<set>\n<parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":3819.0354919433594,"y":482.6320244371891,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b082a709.11f708","type":"switchNode","name":"switch name","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`\">\n","comments":"","outputs":1,"x":3133.0349349975586,"y":1783.5311075747013,"z":"b1d019b.6dbd8e8","wires":[["66b911d8.08a74"]]},{"id":"66b911d8.08a74","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3284.0353050231934,"y":1782.53129068017,"z":"b1d019b.6dbd8e8","wires":[["e9fd7b0e.9d3c98"]]},{"id":"e9fd7b0e.9d3c98","type":"set","name":"set prop.hub.siteName","xml":"<set>\n<parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n","comments":"","x":3456.035312652588,"y":1780.1318594515324,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f5abf897.1c94a8","type":"set","name":"set prop.provision.siteIds_length=0","xml":"<set>\n<parameter name='prop.provision.siteIds_length' value='0' />\n\n\n\n","comments":"","x":456.03517150878906,"y":370.0312534868717,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"487dcb6d.a39b04","type":"execute","name":"execute RestApiCallNode site provision urls","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-provision.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"provisionUrlRsp\"/>\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":796.0352783203125,"y":786.031494140625,"z":"b1d019b.6dbd8e8","wires":[["ffc902c4.10ca6","e8f294ed.ea5b38"]]},{"id":"e8f294ed.ea5b38","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1051.0354766845703,"y":821.0315399169922,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"ffc902c4.10ca6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1047.0352783203125,"y":748.0314774513245,"z":"b1d019b.6dbd8e8","wires":[["f3276258.b0845"]]},{"id":"f3276258.b0845","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 provision url rest api\" />\n","comments":"","x":1218.0357704162598,"y":779.0314909517765,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e484905a.ff144","type":"for","name":"for providx..prop.provision.siteIds[]","xml":"<for index='providx' start='0' end='`$prop.provision.siteIds_length`' >\n","comments":"","outputs":1,"x":449.0352020263672,"y":574.031293541193,"z":"b1d019b.6dbd8e8","wires":[["632e756e.6e9b1c"]]},{"id":"632e756e.6e9b1c","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":473.0352439880371,"y":784.0312668383121,"z":"b1d019b.6dbd8e8","wires":[["2e3f9820.f1c8a8","487dcb6d.a39b04","b564c84.911a938"]]},{"id":"2e3f9820.f1c8a8","type":"set","name":"set prop.spoke.hubSiteId, spokeSiteId","xml":"<set>\n<parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />\n<parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />\n<parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />\n<parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />\n<parameter name='prop.provision.hubspokesite_length' value='2' />\n","comments":"","x":779.0379333496094,"y":736.6330394744873,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b564c84.911a938","type":"record","name":"record provision url response to the file","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value='`$provisionUrlRsp.success[0].url`'/>\n\n","comments":"","outputs":1,"x":785.0353393554688,"y":835.0314025878906,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"35d495b.f10696a","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2522.035388946533,"y":1051.0313250124454,"z":"b1d019b.6dbd8e8","wires":[["2ab4ecb3.a0e7b4"]]},{"id":"684cbe0.d0ae544","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2002.0350646972656,"y":614.0313078463078,"z":"b1d019b.6dbd8e8","wires":[["9bdd2027.61dcf"]]},{"id":"8db55ac9.a24998","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1946.0352325439453,"y":705.0312162935734,"z":"b1d019b.6dbd8e8","wires":[["62066499.8552ec","40faa7d6.f30958"]]},{"id":"154b4cb.99625b3","type":"set","name":"set prop.underlay.routeIds_length++","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n\n\n\n\n","comments":"","x":3467.0050659179688,"y":2273.250064522028,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"7ece27e0.0e9908","type":"set","name":"Update prop.provision.siteIds_length","xml":"<set>\n<parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n","comments":"","x":3450.5048065185547,"y":2397.2501598894596,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"d545295b.570bb8","type":"set","name":"set prop.spoke.siteidx","xml":"<set>\n<parameter name='prop.spoke.siteidx' value='`$i`' />\n\n","comments":"","x":2890.7540969848633,"y":450.00002732872963,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f0e8f4fb.c20608","type":"set","name":"set  underlay route ids to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value=\"underlayRouteIds\" />\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$tmp.routeString`' />\n\n\n","comments":"","x":1913.0045471191406,"y":1937.0003973543644,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e2e0c9ba.1ae298","type":"set","name":"set prop.underlay.routeIds_length=0","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='0' />\n\n\n\n","comments":"","x":461.0000305175781,"y":321.99611154198647,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"4d9ba6d6.4948a8","type":"for","name":"for loop uidx - Get route Id from prop.underlay.routeIds","xml":"<for index=\"uidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n","comments":"","outputs":1,"x":3504.6669387817383,"y":2492.3294989168644,"z":"b1d019b.6dbd8e8","wires":[["b779a699.2b9d28"]]},{"id":"b779a699.2b9d28","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3796.3336334228516,"y":2492.3294989168644,"z":"b1d019b.6dbd8e8","wires":[["a219586f.d987c8"]]},{"id":"a219586f.d987c8","type":"switchNode","name":"switch prop.hub.siteId","xml":"<switch test=\"`$prop.underlay.routeIds[$uidx].hubSiteId == $prop.hub.siteId`\">\n","comments":"","outputs":1,"x":3985.3336486816406,"y":2492.3296619951725,"z":"b1d019b.6dbd8e8","wires":[["55260cd6.1fda94"]]},{"id":"55260cd6.1fda94","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4156.333084106445,"y":2492.329661041498,"z":"b1d019b.6dbd8e8","wires":[["7c71da62.bde474"]]},{"id":"7c71da62.bde474","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4310.333084106445,"y":2496.3296686708927,"z":"b1d019b.6dbd8e8","wires":[["ddeb2690.5c2138"]]},{"id":"ddeb2690.5c2138","type":"set","name":"set prop.hubRouteId prop.spokeRouteId","xml":"<set>\n<parameter name='prop.hubRouteId' value='`$prop.underlay.routeIds[$uidx].hubRouteId`' />\n<parameter name='prop.spokeRouteId' value='`$prop.underlay.routeIds[$uidx].spokeRouteId`' />\n","comments":"","x":4396.33309173584,"y":2568.32967248559,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9b298a8b.b4f888","type":"switchNode","name":"switch underlayRouteIds","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'underlayRouteIds'`\">\n","comments":"","outputs":1,"x":3436,"y":588.6627184450626,"z":"b1d019b.6dbd8e8","wires":[["3be394fa.ba925c"]]},{"id":"3be394fa.ba925c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3635.9994773864746,"y":576.6628328859806,"z":"b1d019b.6dbd8e8","wires":[["9920e23b.cd7d6"]]},{"id":"b59167a6.831738","type":"set","name":"set prop.underlay.routeIds","xml":"<set>\n<parameter name='prop.underlay.routeIdsString' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":4007.000877380371,"y":576.2635428011417,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2e975a9d.1a4246","type":"switchNode","name":"switch request-action","xml":"<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":1123.0002899169922,"y":2028.329627662897,"z":"b1d019b.6dbd8e8","wires":[["50fd57d3.4e6908","75c971c8.2ade9"]]},{"id":"50fd57d3.4e6908","type":"outcome","name":"ActivateSDWANAttachmentInstance","xml":"<outcome value='ActivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":1387.0003356933594,"y":1983.3296248018742,"z":"b1d019b.6dbd8e8","wires":[["392209cf.5e8ed6"]]},{"id":"392209cf.5e8ed6","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1628.9728469848633,"y":1979.7983757555485,"z":"b1d019b.6dbd8e8","wires":[["f0e8f4fb.c20608","c79bd758.d1a228","c32378d4.836d48","ec775956.c66808"]]},{"id":"c8905137.4ae61","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1632.9728355407715,"y":2063.7985445559025,"z":"b1d019b.6dbd8e8","wires":[["b63c926.b7d007"]]},{"id":"75c971c8.2ade9","type":"outcome","name":"DeactivateSDWANAttachmentInstance","xml":"<outcome value='DeactivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":1384.4729766845703,"y":2065.7983814775944,"z":"b1d019b.6dbd8e8","wires":[["c8905137.4ae61"]]},{"id":"b63c926.b7d007","type":"set","name":"set input parameter length -1","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length - 1`' />\n\n\n\n\n","comments":"","x":1861.6665344238281,"y":2062.32963052392,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ada095aa.2b5138","type":"comment","name":"Get route routes IDs","info":"","comments":"","x":3404.3334045410156,"y":2453.6627356112003,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c79bd758.d1a228","type":"set","name":"set  underlay route ids to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":1902.333480834961,"y":2011.6626717150211,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c32378d4.836d48","type":"for","name":"for jidx paramidx - Get topology from servicedata","xml":"<for index=\"jidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n","comments":"","outputs":1,"x":1991.3334045410156,"y":1558.329443603754,"z":"b1d019b.6dbd8e8","wires":[["59aabb37.7454e4"]]},{"id":"81edad0c.4f5ac","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat1\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].hubRouteId`'/>\n\n\n","comments":"","outputs":1,"x":2175.333740234375,"y":1691.996646553278,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"7fab8278.4c656c","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$prop.underlay.routeIds[$jidx].hubSiteId`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n","comments":"","outputs":1,"x":2185.3337326049805,"y":1644.662984520197,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"59aabb37.7454e4","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1898.333423614502,"y":1743.662773758173,"z":"b1d019b.6dbd8e8","wires":[["7fab8278.4c656c","81edad0c.4f5ac","bd7613d0.c6069","cafff242.d3dff","2fe3b3bd.2bc2ac","6f5dac0d.df1414"]]},{"id":"bd7613d0.c6069","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat1`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat2\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n","comments":"","outputs":1,"x":2182.3334426879883,"y":1731.6628777086735,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"cafff242.d3dff","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat2`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat3\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].spokeRouteId`'/>\n\n\n","comments":"","outputs":1,"x":2182.3334426879883,"y":1767.6628777086735,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2fe3b3bd.2bc2ac","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat3`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat4\"/>\n    <parameter name=\"target\" value=\" | \"/>\n\n\n","comments":"","outputs":1,"x":2175.3334426879883,"y":1807.996251732111,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"6f5dac0d.df1414","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.routeString`'/>\n    <parameter name=\"outputPath\" value=\"tmp.routeString\"/>\n    <parameter name=\"target\" value='`$tmp.concat4`'/>\n\n\n","comments":"","outputs":1,"x":2178.333381652832,"y":1862.6627909243107,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"ec775956.c66808","type":"set","name":"Set tmp.routeString","xml":"<set>\n<parameter name='tmp.routeString' value=\"\" />\n\n","comments":"","x":1895.3334045410156,"y":1499.6627747118473,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9920e23b.cd7d6","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3784.0002250671387,"y":622.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["b59167a6.831738","c00c7b4.2e5c088"]]},{"id":"c00c7b4.2e5c088","type":"execute","name":"execute split |","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsString`'/>\n<parameter name=\"regex\" value=\" | \"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValue\"/>\n","comments":"","outputs":1,"x":3962.0002365112305,"y":642.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["d71d5ee6.5fb61","71f30ffd.74297"]]},{"id":"71f30ffd.74297","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4139.0002517700195,"y":623.9961296617985,"z":"b1d019b.6dbd8e8","wires":[["5a3e2b9e.9c82d4"]]},{"id":"d71d5ee6.5fb61","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4128.0002517700195,"y":671.9961315691471,"z":"b1d019b.6dbd8e8","wires":[["e2b81ef4.58103"]]},{"id":"3ae500a3.3e9bf","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.underlay.routeIdsValues[0]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$prop.underlay.routeIdsValues[1]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$prop.underlay.routeIdsValues[2]`' />","comments":"","x":5325.001117706299,"y":557.9963718950748,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e2b81ef4.58103","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4258.000255584717,"y":671.9961315691471,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"5a3e2b9e.9c82d4","type":"for","name":"for loop ridx ","xml":"<for index=\"ridx\" start=\"0\" end=\"`$prop.underlay.routeIdsValue_length`\">\n    \n    \n","comments":"","outputs":1,"x":4284.999938964844,"y":621.9961296617985,"z":"b1d019b.6dbd8e8","wires":[["51bc75fb.70c9ec"]]},{"id":"51bc75fb.70c9ec","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4463.332950592041,"y":618.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["96fd714e.32a33"]]},{"id":"96fd714e.32a33","type":"execute","name":"execute split ,","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsValue[$ridx]`'/>\n<parameter name=\"regex\" value=\",\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValues\"/>\n","comments":"","outputs":1,"x":4638.332962036133,"y":617.9961287081242,"z":"b1d019b.6dbd8e8","wires":[["1c090ebd.4b1411","d83771e1.cb93f"]]},{"id":"1c090ebd.4b1411","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4795.33296585083,"y":594.9961363375187,"z":"b1d019b.6dbd8e8","wires":[["669de5ac.6729ac"]]},{"id":"d83771e1.cb93f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4784.33296585083,"y":642.9961382448673,"z":"b1d019b.6dbd8e8","wires":[["cb663456.f36218"]]},{"id":"cb663456.f36218","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4914.332969665527,"y":642.9961382448673,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"c59be3a3.5f1ff","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":5117.665496826172,"y":573.9962903559208,"z":"b1d019b.6dbd8e8","wires":[["3ae500a3.3e9bf","52bf6eab.78af3"]]},{"id":"52bf6eab.78af3","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n","comments":"","x":5317.333156585693,"y":599.9961678087711,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"669de5ac.6729ac","type":"switchNode","name":"switch prop.underlay.routeIdsValues_length","xml":"<switch test='`$prop.underlay.routeIdsValues_length`'>\n","comments":"","outputs":1,"x":4993.667121887207,"y":475.9961611330509,"z":"b1d019b.6dbd8e8","wires":[["43831c53.32aa44","286a0e51.c7df42"]]},{"id":"43831c53.32aa44","type":"outcome","name":"3","xml":"<outcome value='3'>\n","comments":"","outputs":1,"x":5228.636054992676,"y":512.9648882448673,"z":"b1d019b.6dbd8e8","wires":[["c59be3a3.5f1ff"]]},{"id":"286a0e51.c7df42","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":5245.666980743408,"y":394.9961020052433,"z":"b1d019b.6dbd8e8","wires":[["b1a5d346.3c838"]]},{"id":"b1a5d346.3c838","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":5406.66650390625,"y":434.99609246850014,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"9edc0016.5374a","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":2886.006446838379,"y":1008.3028489649296,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"36139e8.434ce62","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2872.0059547424316,"y":956.969269901514,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"aeaf4169.ad4e1","type":"set","name":"hardcode hub route","xml":"<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n","comments":"","x":3406.0079498291016,"y":1889.0040550231934,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"7b6ea599.d556bc","type":"set","name":"hardcode spoke route","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />","comments":"","x":3421.008316040039,"y":2046.0039640963078,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"5011194.82bcce8","type":"set","name":"hardcode hub route","xml":"<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n","comments":"","x":3437.3374786376953,"y":2522.000064522028,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"aa5933c2.13ab","type":"set","name":"hardcode spoke route","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />","comments":"","x":3462.337158203125,"y":2633.9999987185,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2c880b10.265824","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3473.0080757141113,"y":1253.5040480196476,"z":"b1d019b.6dbd8e8","wires":[["c82b1262.885e1","43b2a05a.a7d9b"]]},{"id":"27cac422.cfe53c","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3803.2580280303955,"y":1421.0040365755558,"z":"b1d019b.6dbd8e8","wires":[["4095ea96.600eb4"]]},{"id":"4095ea96.600eb4","type":"switchNode","name":"switch transportNetworkName==prop.spoke.transportNetworkName","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value == $prop.spoke.transportNetworkName`\">\n","comments":"","outputs":1,"x":4136.008050918579,"y":1423.0043121874332,"z":"b1d019b.6dbd8e8","wires":[["62cc8a78.a53c54"]]},{"id":"62cc8a78.a53c54","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4003.0094957351685,"y":1519.0042206346989,"z":"b1d019b.6dbd8e8","wires":[["79266ace.3e0f24"]]},{"id":"79266ace.3e0f24","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4158.759503364563,"y":1511.0042206346989,"z":"b1d019b.6dbd8e8","wires":[["b05226c4.bd3a28","eaeb7669.551da8"]]},{"id":"eaeb7669.551da8","type":"set","name":"set tmp.wanportvidx ","xml":"<set>\n<parameter name='tmp.wanportvidx' value='`$arvidx`' />\n\n","comments":"","x":4336.2604722976685,"y":1487.004341751337,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"eb5f2e.bb7a50d","type":"for","name":"for loop wanportvidx - Get wan port ID from servicedata","xml":"<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2744.5081939697266,"y":1699.0043436586857,"z":"b1d019b.6dbd8e8","wires":[["94ca8906.8e1df8"]]},{"id":"94ca8906.8e1df8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3047.5095977783203,"y":1657.004679352045,"z":"b1d019b.6dbd8e8","wires":[["de2e10d.04cb7f","c3406431.579fb8","5a48c14b.c2614"]]},{"id":"de2e10d.04cb7f","type":"switchNode","name":"switch wanPortId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`\">\n","comments":"","outputs":1,"x":3246.8432846069336,"y":1614.0048920214176,"z":"b1d019b.6dbd8e8","wires":[["31fd8292.a950ce"]]},{"id":"31fd8292.a950ce","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3407.8436126708984,"y":1615.0049721300602,"z":"b1d019b.6dbd8e8","wires":[["d6943196.7494d"]]},{"id":"d6943196.7494d","type":"set","name":"set prop.hub.wanPortId","xml":"<set>\n<parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3597.8440742492676,"y":1614.6052481234074,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c3406431.579fb8","type":"switchNode","name":"switch providerIpAddress","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`\">\n","comments":"","outputs":1,"x":3268.371768951416,"y":1651.2011968195438,"z":"b1d019b.6dbd8e8","wires":[["db88a61d.083358"]]},{"id":"db88a61d.083358","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.3727531433105,"y":1651.2013193666935,"z":"b1d019b.6dbd8e8","wires":[["5328c878.a15168"]]},{"id":"5328c878.a15168","type":"set","name":"set prop.hub.providerIpAddress","xml":"<set>\n<parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3646.372791290283,"y":1651.8012396395206,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"5a48c14b.c2614","type":"switchNode","name":"switch ipAddress","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`\">\n","comments":"","outputs":1,"x":3240.871850967407,"y":1688.7012821733952,"z":"b1d019b.6dbd8e8","wires":[["1b2197ee.121938"]]},{"id":"1b2197ee.121938","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.872791290283,"y":1688.7012340128422,"z":"b1d019b.6dbd8e8","wires":[["fe46a76e.a6fa58"]]},{"id":"fe46a76e.a6fa58","type":"set","name":"set prop.hub.ipAddress","xml":"<set>\n<parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3639.8727951049805,"y":1688.3012095987797,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"76b9bae0.83f2b4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3847.258213043213,"y":1882.2540187835693,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2019f4f3.e1c6cc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3846.258029937744,"y":1928.253957748413,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"58d448af.a07fd8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.258399963379,"y":2090.254084587097,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"928f88f0.d6ee18","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3866.2581577301025,"y":2137.2540855407715,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a62325e4.8d0b68","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3864.2582054138184,"y":2580.0039698183537,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"3b45764d.017e4a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.257963180542,"y":2627.003970772028,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"8336cdde.f9fe3","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 sdwan hub route underlay rest api\" />\n","comments":"","x":4017.340606689453,"y":2581.9710108339787,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8c851f6f.caa55","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3864.2578125,"y":2671.0039049685,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"29ad144c.f2690c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.2575702667236,"y":2718.0039059221745,"z":"b1d019b.6dbd8e8","wires":[[]]}]
\ No newline at end of file
+[{"id":"587a4e4b.449f1","type":"dgstart","name":"DGSTART","outputs":1,"x":104.00390625,"y":51.99999871850014,"z":"b1d019b.6dbd8e8","wires":[["cf04b901.3d6f98"]]},{"id":"cf04b901.3d6f98","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":220.2895965576172,"y":103.23810639977455,"z":"b1d019b.6dbd8e8","wires":[["a2d12571.0378a8"]]},{"id":"a2d12571.0378a8","type":"method","name":"method sdwan-wanport-vnf-topology-operation-underlay","xml":"<method rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>\n","comments":"","outputs":1,"x":223.43252563476562,"y":188.00003018975258,"z":"b1d019b.6dbd8e8","wires":[["a47337eb.18b358"]]},{"id":"a47337eb.18b358","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":155.67059326171875,"y":296.6667315065861,"z":"b1d019b.6dbd8e8","wires":[["718fab21.36f054","3f81fe79.041ff2","f5abf897.1c94a8","e484905a.ff144","e2e0c9ba.1ae298"]]},{"id":"718fab21.36f054","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":590.004337310791,"y":435.66685262322426,"z":"b1d019b.6dbd8e8","wires":[["95ab5318.2e5c4"]]},{"id":"8881f8e.5bc9208","type":"set","name":"set prop.ar.allotted-resource-id","xml":"<set>\n<parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />\n","comments":"","x":1380.0052490234375,"y":124.96877732872963,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ca0bbb68.4e6518","type":"comment","name":"Query MDSAL for AR","info":"","comments":"","x":1705.3379211425781,"y":148.96864667534828,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"88a9e795.e489e8","type":"comment","name":"Query MDSAL to get parent service based on service instance id from AR","info":"","comments":"","x":2175.338779449463,"y":167.96862569451332,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"61804941.42b278","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1954.67232131958,"y":203.63526597619057,"z":"b1d019b.6dbd8e8","wires":[["b4949dcd.ebcd1"]]},{"id":"b4949dcd.ebcd1","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2109.672161102295,"y":203.1350990831852,"z":"b1d019b.6dbd8e8","wires":[["e88c8316.b28a7"]]},{"id":"4119fddc.bb6d24","type":"other","name":"outcome 1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":2433.3626976013184,"y":199.7542397081852,"z":"b1d019b.6dbd8e8","wires":[["e113bdd7.9bdab"]]},{"id":"672a20f.a0083e","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: Connection attachement resource not found\" />\n    \n","comments":"","x":2579.1314735412598,"y":239.20122781395912,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"17977b69.262195","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1947.5240478515625,"y":250.701272636652,"z":"b1d019b.6dbd8e8","wires":[["4a7edd74.b9a034"]]},{"id":"4a7edd74.b9a034","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2097.5238914489746,"y":251.36782804131508,"z":"b1d019b.6dbd8e8","wires":[["889c4ad9.edb108"]]},{"id":"f51f9f7c.c2466","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2421.6906509399414,"y":237.034599930048,"z":"b1d019b.6dbd8e8","wires":[["672a20f.a0083e"]]},{"id":"e88c8316.b28a7","type":"switchNode","name":"switch cr length","xml":"<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n","comments":"","outputs":1,"x":2273.672336578369,"y":203.63528218865395,"z":"b1d019b.6dbd8e8","wires":[["4119fddc.bb6d24","f51f9f7c.c2466"]]},{"id":"ad5ef81b.eca5b8","type":"set","name":"set parent-service-instance-id","xml":"<set>\n<parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n\n","comments":"","x":2829.0059356689453,"y":200.63526311516762,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e113bdd7.9bdab","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2583.4817276000977,"y":199.80179944634438,"z":"b1d019b.6dbd8e8","wires":[["ad5ef81b.eca5b8","5b3adfc2.d795f"]]},{"id":"889c4ad9.edb108","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: Connection attachement resource not found\" />\n    \n","comments":"","x":2265.005344390869,"y":249.63520398736,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"936de3e0.c6a2e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2052.307460784912,"y":521.7709299623966,"z":"b1d019b.6dbd8e8","wires":[["2fdbbace.5a0386"]]},{"id":"56dafc4a.8aaae4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2044.1592636108398,"y":556.837014824152,"z":"b1d019b.6dbd8e8","wires":[["2a42a293.fba3ae"]]},{"id":"2a42a293.fba3ae","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":2190.308036804199,"y":557.1045109331608,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2fdbbace.5a0386","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2172.3077087402344,"y":521.7710129320621,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a13ee754.9515f8","type":"for","name":"for pnidx.. mdsal-psd.networks.network_length[]","xml":"<for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\n","comments":"","outputs":1,"x":1735.6722564697266,"y":621.3028880655766,"z":"b1d019b.6dbd8e8","wires":[["684cbe0.d0ae544"]]},{"id":"9bdd2027.61dcf","type":"switchNode","name":"switch ActivateSDWANConnectivityInstance","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2265.3388900756836,"y":590.302889496088,"z":"b1d019b.6dbd8e8","wires":[["4800da5e.9f4d14"]]},{"id":"4800da5e.9f4d14","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2517.338424682617,"y":591.3028270304203,"z":"b1d019b.6dbd8e8","wires":[["e64d626e.5a50e"]]},{"id":"e64d626e.5a50e","type":"set","name":"set tmp.pnidx ","xml":"<set>\n<parameter name='tmp.pnidx' value='`$pnidx`' />\n\n","comments":"","x":2673.3381118774414,"y":591.3028270304203,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"dd934675.d4e888","type":"for","name":"for loop paramidx - Get topology from servicedata","xml":"<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":1667.3390655517578,"y":706.3025175631046,"z":"b1d019b.6dbd8e8","wires":[["8db55ac9.a24998"]]},{"id":"62066499.8552ec","type":"switchNode","name":"switch topology","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n","comments":"","outputs":1,"x":2119.339157104492,"y":685.3024231493473,"z":"b1d019b.6dbd8e8","wires":[["4f33474b.e43bc8"]]},{"id":"4f33474b.e43bc8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2270.339168548584,"y":683.3024651110172,"z":"b1d019b.6dbd8e8","wires":[["8246d892.e05918"]]},{"id":"8246d892.e05918","type":"set","name":"set topology","xml":"<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n","comments":"","x":2411.338897705078,"y":682.9023987352848,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"88c5e553.ee7048","type":"switchNode","name":"switch tmp.pnidx ","xml":"<switch test=\"`$tmp.pnidx`\">\n\n","comments":"","outputs":1,"x":1638.338882446289,"y":665.9690901339054,"z":"b1d019b.6dbd8e8","wires":[["11715e8.eb7eca2"]]},{"id":"11715e8.eb7eca2","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1793.7675552368164,"y":664.5404697954655,"z":"b1d019b.6dbd8e8","wires":[["49bf685a.de5378"]]},{"id":"49bf685a.de5378","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":1934.1961784362793,"y":665.6835590898991,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"de9858f.b81a8a8","type":"switchNode","name":"switch topology hub-spoke","xml":"<switch test=\"`$prop.topology == 'hub-spoke'`\">\n","comments":"","outputs":1,"x":1546.3387489318848,"y":768.3023392260075,"z":"b1d019b.6dbd8e8","wires":[["24d293b9.ebe98c","4bfa75a0.97649c"]]},{"id":"24d293b9.ebe98c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1736.338436126709,"y":793.3028246462345,"z":"b1d019b.6dbd8e8","wires":[["fc31272f.d20a28"]]},{"id":"4bfa75a0.97649c","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1730.3393630981445,"y":754.3024870455265,"z":"b1d019b.6dbd8e8","wires":[["a1325102.a1698"]]},{"id":"a1325102.a1698","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1866.3393669128418,"y":754.3024260103703,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"fc31272f.d20a28","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1741.67138671875,"y":861.3020588457584,"z":"b1d019b.6dbd8e8","wires":[["e126a9e.93d2358"]]},{"id":"e126a9e.93d2358","type":"for","name":"for ppidx.. mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]","xml":"<for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n","comments":"","outputs":1,"x":2149.004638671875,"y":861.6356770098209,"z":"b1d019b.6dbd8e8","wires":[["a3874818.96b4a8"]]},{"id":"fafd1fed.9ce1b","type":"set","name":"set prop.ar.provided-allotted-resource-id","xml":"<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />\n\n","comments":"","x":2240.0057525634766,"y":939.6359750330448,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8b5306cb.0a00b8","type":"for","name":"for loop aridx - Get role from allotted resource","xml":"<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2258.0064544677734,"y":1050.3027664721012,"z":"b1d019b.6dbd8e8","wires":[["35d495b.f10696a"]]},{"id":"2ab4ecb3.a0e7b4","type":"switchNode","name":"switch Role","xml":"<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`\">\n","comments":"","outputs":1,"x":2667.006565093994,"y":1053.302853256464,"z":"b1d019b.6dbd8e8","wires":[["f82626a6.b9ef58"]]},{"id":"f82626a6.b9ef58","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2808.0068969726562,"y":1052.3028523027897,"z":"b1d019b.6dbd8e8","wires":[["7f118497.e5e81c"]]},{"id":"7f118497.e5e81c","type":"set","name":"set prop.role","xml":"<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n","comments":"","x":2949.0069313049316,"y":1053.9027439653873,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9f0875d3.47e2b8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2744.0059509277344,"y":956.9692687094212,"z":"b1d019b.6dbd8e8","wires":[["36139e8.434ce62"]]},{"id":"807962c4.90f77","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2740.8576736450195,"y":1011.0353519022465,"z":"b1d019b.6dbd8e8","wires":[["9edc0016.5374a"]]},{"id":"dbadbe13.1677b","type":"switchNode","name":"switch role hub","xml":"<switch test=\"`$prop.role == hub`\">\n","comments":"","outputs":1,"x":2124.3390884399414,"y":1115.635806709528,"z":"b1d019b.6dbd8e8","wires":[["dcf9daa3.e54cc8","5d1cf617.14b6b8"]]},{"id":"9271766e.fe0c48","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2440.3384742736816,"y":1091.6354099810123,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"6d9b82e0.ee0e5c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2850.3081092834473,"y":1187.1045166552067,"z":"b1d019b.6dbd8e8","wires":[["f48b85ad.740008"]]},{"id":"1f5ff987.3fd166","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2852.159679412842,"y":1247.170598655939,"z":"b1d019b.6dbd8e8","wires":[["f995184a.d07fa8"]]},{"id":"f995184a.d07fa8","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: SDWAN service-data not found\" />\n    \n","comments":"","x":2996.308452606201,"y":1209.4380127489567,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f48b85ad.740008","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2980.3081283569336,"y":1176.1046768724918,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"928e3eb0.849cd","type":"set","name":"set prop.ar-service-instance-id","xml":"<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n","comments":"","x":2452.3395080566406,"y":1175.6360094845295,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3730c8a.de81d38","type":"for","name":"for arvidx.. mdsal-arsd.service-data.vnfs.vnf_length[]","xml":"<for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":2496.0059814453125,"y":1297.6357990801334,"z":"b1d019b.6dbd8e8","wires":[["993a1752.84b598"]]},{"id":"993a1752.84b598","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2842.6723022460938,"y":1287.6357752382755,"z":"b1d019b.6dbd8e8","wires":[["9bd685d3.b9a5b8","2be5604d.8b517","34da5cb3.ec0254"]]},{"id":"9bd685d3.b9a5b8","type":"switchNode","name":"switch ActivateSDWANPortInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n\n","comments":"","outputs":1,"x":3104.672410964966,"y":1258.6367346346378,"z":"b1d019b.6dbd8e8","wires":[["22ea8a6b.a17296"]]},{"id":"2f97be15.e601c2","type":"switchNode","name":"switch tmp.wanportvidx ","xml":"<switch test=\"`$tmp.wanportvidx`\">\n\n","comments":"","outputs":1,"x":2577.672119140625,"y":1342.3024441301823,"z":"b1d019b.6dbd8e8","wires":[["54e2ca7c.2e5f44"]]},{"id":"43b2a05a.a7d9b","type":"for","name":"for loop wportidx - Get wan port ID from servicedata","xml":"<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":3759.6728897094727,"y":1251.6369148790836,"z":"b1d019b.6dbd8e8","wires":[["bca2a06e.4f682"]]},{"id":"54e2ca7c.2e5f44","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2749.100841522217,"y":1345.8741499483585,"z":"b1d019b.6dbd8e8","wires":[["2f27c837.ae4c68"]]},{"id":"2f27c837.ae4c68","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 (port) not found in service-data\" />\n","comments":"","x":2893.529556274414,"y":1348.0174299776554,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"22ea8a6b.a17296","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3332.67209815979,"y":1256.6367355883121,"z":"b1d019b.6dbd8e8","wires":[["2c880b10.265824"]]},{"id":"bca2a06e.4f682","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3711.6741046905518,"y":1335.6374413073063,"z":"b1d019b.6dbd8e8","wires":[["960aea00.c2c228"]]},{"id":"960aea00.c2c228","type":"switchNode","name":"switch transportNetworkName","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`\">\n","comments":"","outputs":1,"x":3929.6750202178955,"y":1333.6379295885563,"z":"b1d019b.6dbd8e8","wires":[["19a0a134.cbff5f"]]},{"id":"c82b1262.885e1","type":"set","name":"set tmp.portvidx ","xml":"<set>\n<parameter name='tmp.portvidx' value='`$arvidx`' />\n\n","comments":"","x":3656.671901702881,"y":1209.6369024813175,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"19a0a134.cbff5f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4126.675447463989,"y":1332.6380983889103,"z":"b1d019b.6dbd8e8","wires":[["27cac422.cfe53c"]]},{"id":"b05226c4.bd3a28","type":"set","name":"set prop.hub.transportNetworkName","xml":"<set>\n<parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":4383.6772813797,"y":1532.2391153872013,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f4c45443.bb3768","type":"switchNode","name":"switch  prop.hub.transportNetworkName==prop.spoke.transportNetworkName","xml":"<switch test=\"`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`\">\n","comments":"","outputs":1,"x":2576.00821685791,"y":1492.3046661913395,"z":"b1d019b.6dbd8e8","wires":[["29701c33.546bc4","9d7af116.cbe09"]]},{"id":"29701c33.546bc4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2922.0077476501465,"y":1529.304740101099,"z":"b1d019b.6dbd8e8","wires":[["f21133c1.0bade"]]},{"id":"9d7af116.cbe09","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2916.008556365967,"y":1466.3046003878117,"z":"b1d019b.6dbd8e8","wires":[["35e3a287.99da5e"]]},{"id":"35e3a287.99da5e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3046.008743286133,"y":1466.3047529757023,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a3874818.96b4a8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1891.0361328125,"y":970.8333088457584,"z":"b1d019b.6dbd8e8","wires":[["fafd1fed.9ce1b","252298c8.827288","de70a181.95e65","dbadbe13.1677b","8b5306cb.0a00b8"]]},{"id":"40faa7d6.f30958","type":"switchNode","name":"switch vpnId","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`\">\n","comments":"","outputs":1,"x":2109.005172729492,"y":729.6354338228703,"z":"b1d019b.6dbd8e8","wires":[["244fa8f2.0e98c8"]]},{"id":"244fa8f2.0e98c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2253.005184173584,"y":729.6354748308659,"z":"b1d019b.6dbd8e8","wires":[["542e22e9.06eebc"]]},{"id":"542e22e9.06eebc","type":"set","name":"set prop.vpnId","xml":"<set>\n<parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n","comments":"","x":2411.0049057006836,"y":728.2354094088078,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3945c5e7.6c14ea","type":"set","name":"Set prop.hubTnpId","xml":"<set>\n<parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />\n\n","comments":"","x":2628.3407135009766,"y":1765.636424690485,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"32aaac62.305534","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3449.34015083313,"y":2597.9708580076694,"z":"b1d019b.6dbd8e8","wires":[["89fb14c8.94ed18","c79239ca.a0f328"]]},{"id":"c79239ca.a0f328","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3716.3400592803955,"y":2625.9708875715733,"z":"b1d019b.6dbd8e8","wires":[["3b45764d.017e4a"]]},{"id":"89fb14c8.94ed18","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3714.339738845825,"y":2581.97087803483,"z":"b1d019b.6dbd8e8","wires":[["a62325e4.8d0b68"]]},{"id":"d9e2a3b8.be3d7","type":"set","name":"Add prop.hub.route","xml":"<set>\n<parameter name='prop.route.id' value='`$prop.hubRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n","comments":"","x":3393.6735305786133,"y":2554.6373659670353,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b552a294.7e377","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3468.6735305786133,"y":2696.637831121683,"z":"b1d019b.6dbd8e8","wires":[["a12e36eb.943458","ededbddd.7250a"]]},{"id":"ededbddd.7250a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3720.673677444458,"y":2725.6381277143955,"z":"b1d019b.6dbd8e8","wires":[["29ad144c.f2690c"]]},{"id":"a12e36eb.943458","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3718.6733570098877,"y":2681.6381181776524,"z":"b1d019b.6dbd8e8","wires":[["8c851f6f.caa55"]]},{"id":"92a20fbe.e0e62","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 sdwan spoke route underlay rest api\" />\n","comments":"","x":4008.6742248535156,"y":2675.6383101046085,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2be5604d.8b517","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":3115.535987854004,"y":1291.833693176508,"z":"b1d019b.6dbd8e8","wires":[["46f77d85.1bbce4"]]},{"id":"75db0ba8.f32084","type":"switchNode","name":"switch tmp.devicevidx ","xml":"<switch test=\"`$tmp.devicevidx`\">\n\n","comments":"","outputs":1,"x":2583.5355377197266,"y":1384.4999252855778,"z":"b1d019b.6dbd8e8","wires":[["294637bf.dcbd08"]]},{"id":"294637bf.dcbd08","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2749.9639739990234,"y":1384.0714584887028,"z":"b1d019b.6dbd8e8","wires":[["a4ca51de.1aa11"]]},{"id":"a4ca51de.1aa11","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 (device) not found in service-data\" />\n","comments":"","x":2890.392906188965,"y":1386.2144333422184,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"46f77d85.1bbce4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3343.535675048828,"y":1289.8336941301823,"z":"b1d019b.6dbd8e8","wires":[["b2e4dc18.108ae"]]},{"id":"b2e4dc18.108ae","type":"set","name":"set tmp.devicevidx ","xml":"<set>\n<parameter name='tmp.devicevidx' value='`$arvidx`' />\n\n","comments":"","x":3498.535358428955,"y":1289.833693176508,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"34da5cb3.ec0254","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":3078.5360584259033,"y":1325.8337570726871,"z":"b1d019b.6dbd8e8","wires":[["1e8bb4ff.b8f57b"]]},{"id":"c3aa018f.4dc1a","type":"switchNode","name":"switch tmp.sitevidx ","xml":"<switch test=\"`$tmp.sitevidx`\">\n\n","comments":"","outputs":1,"x":2582.5354080200195,"y":1422.4998032152653,"z":"b1d019b.6dbd8e8","wires":[["1f12a8eb.1a8507"]]},{"id":"1f12a8eb.1a8507","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2742.963872909546,"y":1422.0713230669498,"z":"b1d019b.6dbd8e8","wires":[["b92b68d7.8e4328"]]},{"id":"b92b68d7.8e4328","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 (site) not found in service-data\" />\n","comments":"","x":2891.392827987671,"y":1424.214329391718,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"1e8bb4ff.b8f57b","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3266.535623550415,"y":1325.8339230120182,"z":"b1d019b.6dbd8e8","wires":[["4cf0c35.9e60c3c"]]},{"id":"4cf0c35.9e60c3c","type":"set","name":"set tmp.sitevidx ","xml":"<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n","comments":"","x":3421.535306930542,"y":1325.833922058344,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6de714ed.d3061c","type":"for","name":"for loop deviceidx - Get wan port ID from servicedata","xml":"<for index=\"deviceidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2715.5372161865234,"y":1807.8342405855656,"z":"b1d019b.6dbd8e8","wires":[["3adcf839.875688"]]},{"id":"e169850b.ca2b98","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3200.5384674072266,"y":1738.8350941240788,"z":"b1d019b.6dbd8e8","wires":[["7f1b4a03.77b0c4"]]},{"id":"7f1b4a03.77b0c4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3351.5388412475586,"y":1735.8353382647038,"z":"b1d019b.6dbd8e8","wires":[["8b5c9421.71a558"]]},{"id":"8b5c9421.71a558","type":"set","name":"set prop.hub.deviceId","xml":"<set>\n<parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n","comments":"","x":3526.539089202881,"y":1735.4358631670475,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8506f90c.f30458","type":"for","name":"for loop siteidx - Get site ID from servicedata","xml":"<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2682.0370330810547,"y":1869.8342100679874,"z":"b1d019b.6dbd8e8","wires":[["ff9f298a.cca7f8"]]},{"id":"8d61be2.a51494","type":"comment","name":"Add route src->dst, dst->src","info":"","comments":"","x":3017.672622680664,"y":1886.6360289156437,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e5d1673d.e9dbe8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2127.338134765625,"y":1247.9687458574772,"z":"b1d019b.6dbd8e8","wires":[["3730c8a.de81d38","f4c45443.bb3768","3d7d87cf.2688a8","928e3eb0.849cd","e69efead.6b9ed","2aa6f09e.c6474"]]},{"id":"3d7d87cf.2688a8","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2382.337890625,"y":1384.3021198809147,"z":"b1d019b.6dbd8e8","wires":[["75db0ba8.f32084","c3aa018f.4dc1a","2f97be15.e601c2"]]},{"id":"f21133c1.0bade","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2402.3389282226562,"y":1756.6356417238712,"z":"b1d019b.6dbd8e8","wires":[["3945c5e7.6c14ea","6de714ed.d3061c","8506f90c.f30458","23a8e35f.4687ac","eb5f2e.bb7a50d"]]},{"id":"7877847f.fa07bc","type":"set","name":"Add prop.spoke.route","xml":"<set>\n<parameter name='prop.route.id' value='`$prop.spokeRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n\n\n","comments":"","x":3403.537546157837,"y":2665.3345922529697,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3f81fe79.041ff2","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":352.3382110595703,"y":1122.3343378603458,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"52b0eddb.8791b4","type":"execute","name":"generate connection attachment 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-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":1401.6711120605469,"y":184.3018356859684,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"532b1f7d.9c604","type":"execute","name":"execute RestApiCallNode - get-resource connection-attachment-allotted-resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1528.671142578125,"y":232.30182614922523,"z":"b1d019b.6dbd8e8","wires":[["61804941.42b278","17977b69.262195"]]},{"id":"1eb0dd45.2d88f3","type":"execute","name":"execute RestApiCallNode - get parent service data","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n","comments":"","outputs":1,"x":1753.0052947998047,"y":566.3021399080753,"z":"b1d019b.6dbd8e8","wires":[["936de3e0.c6a2e","56dafc4a.8aaae4"]]},{"id":"4ecf397b.0a23f8","type":"execute","name":"generate connection attachment parent url ","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-parent-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.parent-service-instance-id`\"/>\n","comments":"","outputs":1,"x":1730.0049438476562,"y":512.3020674288273,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"43c6b758.a87968","type":"comment","name":"full mesh do nothing","info":"","comments":"","x":1564.671745300293,"y":723.3021055757999,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"717df1f.c979e1","type":"comment","name":"hub-spoke","info":"","comments":"","x":2565.6711463928223,"y":820.3019954264164,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"252298c8.827288","type":"execute","name":"generate connection attachment 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-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":2238.0042991638184,"y":971.3019906580448,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"de70a181.95e65","type":"execute","name":"execute RestApiCallNode - get-resource connection-attachment-allotted-resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n","comments":"","outputs":1,"x":2369.004379272461,"y":1010.9686204493046,"z":"b1d019b.6dbd8e8","wires":[["9f0875d3.47e2b8","807962c4.90f77"]]},{"id":"e69efead.6b9ed","type":"execute","name":"generate service data url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n","comments":"","outputs":1,"x":2419.508274078369,"y":1212.3058907091618,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2aa6f09e.c6474","type":"execute","name":"execute RestApiCallNode - get service data of allotted resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\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='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-arsd\" />\n\n","comments":"","outputs":1,"x":2535.5084075927734,"y":1249.3057819902897,"z":"b1d019b.6dbd8e8","wires":[["6d9b82e0.ee0e5c","1f5ff987.3fd166"]]},{"id":"5d1cf617.14b6b8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2299.5039710998535,"y":1134.8018547594547,"z":"b1d019b.6dbd8e8","wires":[["e5d1673d.e9dbe8"]]},{"id":"dcf9daa3.e54cc8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2305.504219055176,"y":1091.801946312189,"z":"b1d019b.6dbd8e8","wires":[["9271766e.fe0c48"]]},{"id":"5b3adfc2.d795f","type":"for","name":"for loop roleidx - Get role from allotted resource","xml":"<for index=\"roleidx\" start=\"0\" end=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2880.5047760009766,"y":239.3017717897892,"z":"b1d019b.6dbd8e8","wires":[["a590c534.c72538"]]},{"id":"a590c534.c72538","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3139.5050888061523,"y":238.30208745598793,"z":"b1d019b.6dbd8e8","wires":[["24fabbc8.4ee6a4"]]},{"id":"24fabbc8.4ee6a4","type":"switchNode","name":"switch Role","xml":"<switch test=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`\">\n","comments":"","outputs":1,"x":3288.505100250244,"y":239.30192437767982,"z":"b1d019b.6dbd8e8","wires":[["13c03783.386d28"]]},{"id":"f7ff32b9.16d69","type":"set","name":"set prop.spoke.role","xml":"<set>\n<parameter name='prop.spoke.role' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />\n","comments":"","x":3593.505661010742,"y":236.90183225274086,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"13c03783.386d28","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3424.00492477417,"y":236.30176416039467,"z":"b1d019b.6dbd8e8","wires":[["f7ff32b9.16d69"]]},{"id":"30347a07.26c8f6","type":"switchNode","name":"switch spoke","xml":"<switch test=\"`$prop.spoke.role == 'spoke'`\">\n","comments":"","outputs":1,"x":1316.004280090332,"y":383.30169931054115,"z":"b1d019b.6dbd8e8","wires":[["2d380018.3e87c"]]},{"id":"2d380018.3e87c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1457.004035949707,"y":384.3017365038395,"z":"b1d019b.6dbd8e8","wires":[["1b9dfff3.6a8e9"]]},{"id":"356b426.2684ebe","type":"for","name":"for i.. service-data.vnfs.vnf_length[]","xml":"<for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1729.5045623779297,"y":438.3017317354679,"z":"b1d019b.6dbd8e8","wires":[["bfdedc49.050ca"]]},{"id":"bfdedc49.050ca","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2063.170753479004,"y":382.3016621172428,"z":"b1d019b.6dbd8e8","wires":[["fd950685.06ac48","2d8b9375.2ddaac","257f4a9c.1ed446"]]},{"id":"fd950685.06ac48","type":"switchNode","name":"switch ActivateSDWANPortInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2334.1707916259766,"y":328.3025485575199,"z":"b1d019b.6dbd8e8","wires":[["fc67008d.091db"]]},{"id":"fc67008d.091db","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2547.170555114746,"y":329.30255141854286,"z":"b1d019b.6dbd8e8","wires":[["1a445db7.1fd752"]]},{"id":"1a445db7.1fd752","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2696.0042991638184,"y":331.3017407953739,"z":"b1d019b.6dbd8e8","wires":[["3c007d2e.edc602"]]},{"id":"3c007d2e.edc602","type":"for","name":"for loop widx - Get wan port ID from servicedata","xml":"<for index=\"widx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2969.004249572754,"y":329.66895881295204,"z":"b1d019b.6dbd8e8","wires":[["f1345e2.c9f7ea"]]},{"id":"f1345e2.c9f7ea","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3238.0051765441895,"y":328.6692048609257,"z":"b1d019b.6dbd8e8","wires":[["ba5679ba.3ede18","3e5320cd.89f1e","efdc38fc.1f5628","8e38557b.879d28"]]},{"id":"ba5679ba.3ede18","type":"switchNode","name":"switch transportNetworkName","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`\">\n","comments":"","outputs":1,"x":3481.0062103271484,"y":283.66977801918983,"z":"b1d019b.6dbd8e8","wires":[["8f69b44d.c2f088"]]},{"id":"8f69b44d.c2f088","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3681.0059852600098,"y":283.6699401438236,"z":"b1d019b.6dbd8e8","wires":[["a5483223.dc4b1"]]},{"id":"a5483223.dc4b1","type":"set","name":"set prop.spoke.transportNetworkName","xml":"<set>\n<parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3908.006721496582,"y":285.27052226662636,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"1b9dfff3.6a8e9","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1209.9733276367188,"y":694.270647674799,"z":"b1d019b.6dbd8e8","wires":[["356b426.2684ebe","4ecf397b.0a23f8","1eb0dd45.2d88f3","a13ee754.9515f8","dd934675.d4e888","de9858f.b81a8a8","88c5e553.ee7048","2e975a9d.1a4246"]]},{"id":"2d8b9375.2ddaac","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2326.5042266845703,"y":402.30175319314003,"z":"b1d019b.6dbd8e8","wires":[["74821dd.148afe4"]]},{"id":"74821dd.148afe4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2545.5039768218994,"y":403.30173793435097,"z":"b1d019b.6dbd8e8","wires":[["c6b3d98e.b714c8"]]},{"id":"c6b3d98e.b714c8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2696.3379669189453,"y":409.30092921853065,"z":"b1d019b.6dbd8e8","wires":[["57f2bdad.e02274"]]},{"id":"57f2bdad.e02274","type":"for","name":"for loop didx - Get device ID from servicedata","xml":"<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2955.338218688965,"y":411.6682244837284,"z":"b1d019b.6dbd8e8","wires":[["ca5f7c6e.be6de"]]},{"id":"ca5f7c6e.be6de","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3241.338726043701,"y":444.6684094965458,"z":"b1d019b.6dbd8e8","wires":[["a11b64a3.1c2778"]]},{"id":"a11b64a3.1c2778","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3424.3396377563477,"y":444.6690198481083,"z":"b1d019b.6dbd8e8","wires":[["b3a0e9d7.649ff8"]]},{"id":"b3a0e9d7.649ff8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3624.339412689209,"y":444.6691819727421,"z":"b1d019b.6dbd8e8","wires":[["a6327912.f3f9d8"]]},{"id":"a6327912.f3f9d8","type":"set","name":"set prop.spoke.deviceId","xml":"<set>\n<parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />\n","comments":"","x":3819.3400955200195,"y":441.2697631418705,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"257f4a9c.1ed446","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2305.5043411254883,"y":463.30178466439247,"z":"b1d019b.6dbd8e8","wires":[["9ba2d06.8f6be3"]]},{"id":"9ba2d06.8f6be3","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2539.503978729248,"y":464.30172458291054,"z":"b1d019b.6dbd8e8","wires":[["a15d8c7c.78012"]]},{"id":"a15d8c7c.78012","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2691.3379669189453,"y":486.3009606897831,"z":"b1d019b.6dbd8e8","wires":[["44322235.a2372c","d545295b.570bb8"]]},{"id":"44322235.a2372c","type":"for","name":"for loop widx - Get wan site ID from servicedata","xml":"<for index=\"sidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2972.3377990722656,"y":485.66816344857216,"z":"b1d019b.6dbd8e8","wires":[["e3395281.b0fe4"]]},{"id":"e3395281.b0fe4","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3241.338726043701,"y":484.6684094965458,"z":"b1d019b.6dbd8e8","wires":[["2466c56a.c4304a","fe259139.fb262","9b298a8b.b4f888"]]},{"id":"2466c56a.c4304a","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":3430.33992767334,"y":534.6690813601017,"z":"b1d019b.6dbd8e8","wires":[["8bd2628f.d7e06"]]},{"id":"8bd2628f.d7e06","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3630.3394050598145,"y":522.6691958010197,"z":"b1d019b.6dbd8e8","wires":[["4379d5c4.4bf5fc"]]},{"id":"4379d5c4.4bf5fc","type":"set","name":"set prop.spoke.siteId","xml":"<set>\n<parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":3823.340358734131,"y":529.2698260843754,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3e5320cd.89f1e","type":"switchNode","name":"switch wanPortId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`\">\n","comments":"","outputs":1,"x":3454.50390625,"y":320.3018342554569,"z":"b1d019b.6dbd8e8","wires":[["42e60a6a.aa3574"]]},{"id":"42e60a6a.aa3574","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3684.5039100646973,"y":320.30194583535194,"z":"b1d019b.6dbd8e8","wires":[["ae0a5d97.a78e5"]]},{"id":"ae0a5d97.a78e5","type":"set","name":"set prop.spoke.wanPortId","xml":"<set>\n<parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3911.5046463012695,"y":321.9025279581547,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"efdc38fc.1f5628","type":"switchNode","name":"switch providerIpAddress","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`\">\n","comments":"","outputs":1,"x":3472.504066467285,"y":364.30178466439247,"z":"b1d019b.6dbd8e8","wires":[["ac0b6cb5.77b59"]]},{"id":"ac0b6cb5.77b59","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3672.5038414001465,"y":364.30194678902626,"z":"b1d019b.6dbd8e8","wires":[["f9d16c81.a3a79"]]},{"id":"f9d16c81.a3a79","type":"set","name":"set prop.spoke.providerIpAddress","xml":"<set>\n<parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3899.5045776367188,"y":365.902528911829,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8e38557b.879d28","type":"switchNode","name":"switch ipAddress","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`\">\n","comments":"","outputs":1,"x":3452.503894805908,"y":403.3018209040165,"z":"b1d019b.6dbd8e8","wires":[["3e49c027.9158a"]]},{"id":"3e49c027.9158a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3676.5037231445312,"y":403.3019382059574,"z":"b1d019b.6dbd8e8","wires":[["63fb7b99.9c4f54"]]},{"id":"63fb7b99.9c4f54","type":"set","name":"set prop.spoke.ipAddress","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3903.5044593811035,"y":404.90252032876015,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"95ab5318.2e5c4","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1020.0038070678711,"y":262.50004068017006,"z":"b1d019b.6dbd8e8","wires":[["8881f8e.5bc9208","52b0eddb.8791b4","532b1f7d.9c604","30347a07.26c8f6"]]},{"id":"6dbd8249.403ccc","type":"comment","name":"get spoke device,site,wanport info","info":"","comments":"","x":1776.97265625,"y":385.9687458574772,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6c52be5d.b4d02","type":"comment","name":"Add routes only on activation of spoke Attach site","info":"","comments":"","x":1437.5038223266602,"y":329.0000597536564,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ac54d054.7cd81","type":"comment","name":"Loop for all the hub allotted resources, get respective service data and get vnfs info","info":"","comments":"","x":2193.50390625,"y":824.5000559389591,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ff9f298a.cca7f8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2957.5037384033203,"y":1845.000134140253,"z":"b1d019b.6dbd8e8","wires":[["d59362d2.ef947","b082a709.11f708"]]},{"id":"3adcf839.875688","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3024.5037384033203,"y":1741.000010162592,"z":"b1d019b.6dbd8e8","wires":[["e169850b.ca2b98"]]},{"id":"d59362d2.ef947","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":3134.503547668457,"y":1816.9998003542423,"z":"b1d019b.6dbd8e8","wires":[["6377b71d.78eda8"]]},{"id":"6377b71d.78eda8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3285.503917694092,"y":1815.999983459711,"z":"b1d019b.6dbd8e8","wires":[["d846e28e.6f3b8"]]},{"id":"d846e28e.6f3b8","type":"set","name":"set prop.hub.siteId","xml":"<set>\n<parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n","comments":"","x":3457.5039253234863,"y":1813.6005522310734,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"23a8e35f.4687ac","type":"switchNode","name":"switch request-action","xml":"<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":2611.0036544799805,"y":2169.000444084406,"z":"b1d019b.6dbd8e8","wires":[["98e33ddb.b0dca","c2b4abbd.4bca28"]]},{"id":"98e33ddb.b0dca","type":"outcome","name":"ActivateSDWANAttachmentInstance","xml":"<outcome value='ActivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":2881.0310592651367,"y":1980.0314766466618,"z":"b1d019b.6dbd8e8","wires":[["6bb4758a.3f2dbc"]]},{"id":"d343e9eb.f9d438","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3469.504180908203,"y":1950.0004482269287,"z":"b1d019b.6dbd8e8","wires":[["6e0b715b.cb6d1","1b5945c5.1fa10a"]]},{"id":"1b5945c5.1fa10a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3716.504009246826,"y":1929.000280380249,"z":"b1d019b.6dbd8e8","wires":[["2019f4f3.e1c6cc"]]},{"id":"6e0b715b.cb6d1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3714.503688812256,"y":1885.0002708435059,"z":"b1d019b.6dbd8e8","wires":[["76b9bae0.83f2b4"]]},{"id":"df42caf7.594ce8","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 sdwan hub route underlay rest api\" />\n","comments":"","x":4002.505043029785,"y":1884.0006313323975,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"543ffebe.107f8","type":"set","name":"Add prop.hub.route","xml":"<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n","comments":"","x":3404.8377838134766,"y":1920.6669883728027,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2e8b8d76.b2d882","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3486.838050842285,"y":2114.667499214411,"z":"b1d019b.6dbd8e8","wires":[["9396f713.11f4f8","348aaf89.0950a"]]},{"id":"348aaf89.0950a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3731.8382873535156,"y":2140.667496204376,"z":"b1d019b.6dbd8e8","wires":[["928f88f0.d6ee18"]]},{"id":"9396f713.11f4f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3729.8379669189453,"y":2096.667486667633,"z":"b1d019b.6dbd8e8","wires":[["58d448af.a07fd8"]]},{"id":"38cd6644.9bd7ea","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 sdwan spoke route underlay rest api\" />\n","comments":"","x":4019.8393936157227,"y":2089.6679944992065,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b2b73fd8.a499a","type":"set","name":"Add prop.spoke.route","xml":"<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />                                                \n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n","comments":"","x":3427.7019233703613,"y":2077.3642114698887,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f670e4e2.ed4a18","type":"set","name":"set  prop.underlay.routeIds","xml":"<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<!--parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeSiteId' value='`$prop.spoke.siteId`' /-->\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$underlayHubResp.success[0].id`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$underlayspokeResp.success[0].id`' />\n\n\n\n","comments":"","x":3437.669448852539,"y":2237.0309874117374,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6bb4758a.3f2dbc","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3117.003578186035,"y":1977.4999100267887,"z":"b1d019b.6dbd8e8","wires":[["543ffebe.107f8","b2b73fd8.a499a","f670e4e2.ed4a18","2e8b8d76.b2d882","d343e9eb.f9d438","154b4cb.99625b3","497ef4.1532d10c","7ece27e0.0e9908","aeaf4169.ad4e1","7b6ea599.d556bc"]]},{"id":"cda2bd2c.f7f2b","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3149.0036811828613,"y":2619.500260025263,"z":"b1d019b.6dbd8e8","wires":[["d9e2a3b8.be3d7","7877847f.fa07bc","32aaac62.305534","b552a294.7e377","4d9ba6d6.4948a8","5011194.82bcce8","aa5933c2.13ab"]]},{"id":"c2b4abbd.4bca28","type":"outcome","name":"DeactivateSDWANAttachmentInstance","xml":"<outcome value='DeactivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":2897.5037384033203,"y":2613.500071197748,"z":"b1d019b.6dbd8e8","wires":[["cda2bd2c.f7f2b"]]},{"id":"497ef4.1532d10c","type":"set","name":"Add sites to list and update length","xml":"<set>\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />\n\n\n\n\n\n\n\n\n\n\n\n\n\n","comments":"","x":3442.0357360839844,"y":2362.0318676531315,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"536b45e5.f1ae4c","type":"comment","name":"save hubsiteIds and spoke siteIds for provision","info":"","comments":"","x":3474.0361099243164,"y":2318.0317417681217,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"fe259139.fb262","type":"switchNode","name":"switch name","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`\">\n","comments":"","outputs":1,"x":3431.034912109375,"y":484.03124871850014,"z":"b1d019b.6dbd8e8","wires":[["1eff9aea.08d565"]]},{"id":"1eff9aea.08d565","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3631.0346870422363,"y":484.0314108431339,"z":"b1d019b.6dbd8e8","wires":[["498b6b56.a99af4"]]},{"id":"498b6b56.a99af4","type":"set","name":"set prop.spoke.siteName","xml":"<set>\n<parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":3819.0354919433594,"y":482.6320244371891,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b082a709.11f708","type":"switchNode","name":"switch name","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`\">\n","comments":"","outputs":1,"x":3133.0349349975586,"y":1783.5311075747013,"z":"b1d019b.6dbd8e8","wires":[["66b911d8.08a74"]]},{"id":"66b911d8.08a74","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3284.0353050231934,"y":1782.53129068017,"z":"b1d019b.6dbd8e8","wires":[["e9fd7b0e.9d3c98"]]},{"id":"e9fd7b0e.9d3c98","type":"set","name":"set prop.hub.siteName","xml":"<set>\n<parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n","comments":"","x":3456.035312652588,"y":1780.1318594515324,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f5abf897.1c94a8","type":"set","name":"set prop.provision.siteIds_length=0","xml":"<set>\n<parameter name='prop.provision.siteIds_length' value='0' />\n\n\n\n","comments":"","x":456.03517150878906,"y":370.0312534868717,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"487dcb6d.a39b04","type":"execute","name":"execute RestApiCallNode site provision urls","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-provision.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"provisionUrlRsp\"/>\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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":796.0352783203125,"y":786.031494140625,"z":"b1d019b.6dbd8e8","wires":[["ffc902c4.10ca6","e8f294ed.ea5b38"]]},{"id":"e8f294ed.ea5b38","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1051.0354766845703,"y":821.0315399169922,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"ffc902c4.10ca6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1047.0352783203125,"y":748.0314774513245,"z":"b1d019b.6dbd8e8","wires":[["f3276258.b0845"]]},{"id":"f3276258.b0845","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 provision url rest api\" />\n","comments":"","x":1218.0357704162598,"y":779.0314909517765,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e484905a.ff144","type":"for","name":"for providx..prop.provision.siteIds[]","xml":"<for index='providx' start='0' end='`$prop.provision.siteIds_length`' >\n","comments":"","outputs":1,"x":449.0352020263672,"y":574.031293541193,"z":"b1d019b.6dbd8e8","wires":[["632e756e.6e9b1c"]]},{"id":"632e756e.6e9b1c","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":473.0352439880371,"y":784.0312668383121,"z":"b1d019b.6dbd8e8","wires":[["2e3f9820.f1c8a8","487dcb6d.a39b04","b564c84.911a938"]]},{"id":"2e3f9820.f1c8a8","type":"set","name":"set prop.spoke.hubSiteId, spokeSiteId","xml":"<set>\n<parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />\n<parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />\n<parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />\n<parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />\n<parameter name='prop.provision.hubspokesite_length' value='2' />\n","comments":"","x":779.0379333496094,"y":736.6330394744873,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b564c84.911a938","type":"record","name":"record provision url response to the file","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value='`$provisionUrlRsp.success[0].url`'/>\n\n","comments":"","outputs":1,"x":785.0353393554688,"y":835.0314025878906,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"35d495b.f10696a","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2522.035388946533,"y":1051.0313250124454,"z":"b1d019b.6dbd8e8","wires":[["2ab4ecb3.a0e7b4"]]},{"id":"684cbe0.d0ae544","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2002.0350646972656,"y":614.0313078463078,"z":"b1d019b.6dbd8e8","wires":[["9bdd2027.61dcf"]]},{"id":"8db55ac9.a24998","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1946.0352325439453,"y":705.0312162935734,"z":"b1d019b.6dbd8e8","wires":[["62066499.8552ec","40faa7d6.f30958"]]},{"id":"154b4cb.99625b3","type":"set","name":"set prop.underlay.routeIds_length++","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n\n\n\n\n","comments":"","x":3467.0050659179688,"y":2273.250064522028,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"7ece27e0.0e9908","type":"set","name":"Update prop.provision.siteIds_length","xml":"<set>\n<parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n","comments":"","x":3450.5048065185547,"y":2397.2501598894596,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"d545295b.570bb8","type":"set","name":"set prop.spoke.siteidx","xml":"<set>\n<parameter name='prop.spoke.siteidx' value='`$i`' />\n\n","comments":"","x":2890.7540969848633,"y":450.00002732872963,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f0e8f4fb.c20608","type":"set","name":"set  underlay route ids to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value=\"underlayRouteIds\" />\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$tmp.routeString`' />\n\n\n","comments":"","x":1913.0045471191406,"y":1937.0003973543644,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e2e0c9ba.1ae298","type":"set","name":"set prop.underlay.routeIds_length=0","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='0' />\n\n\n\n","comments":"","x":461.0000305175781,"y":321.99611154198647,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"4d9ba6d6.4948a8","type":"for","name":"for loop uidx - Get route Id from prop.underlay.routeIds","xml":"<for index=\"uidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n","comments":"","outputs":1,"x":3504.6669387817383,"y":2492.3294989168644,"z":"b1d019b.6dbd8e8","wires":[["b779a699.2b9d28"]]},{"id":"b779a699.2b9d28","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3796.3336334228516,"y":2492.3294989168644,"z":"b1d019b.6dbd8e8","wires":[["a219586f.d987c8"]]},{"id":"a219586f.d987c8","type":"switchNode","name":"switch prop.hub.siteId","xml":"<switch test=\"`$prop.underlay.routeIds[$uidx].hubSiteId == $prop.hub.siteId`\">\n","comments":"","outputs":1,"x":3985.3336486816406,"y":2492.3296619951725,"z":"b1d019b.6dbd8e8","wires":[["55260cd6.1fda94"]]},{"id":"55260cd6.1fda94","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4156.333084106445,"y":2492.329661041498,"z":"b1d019b.6dbd8e8","wires":[["7c71da62.bde474"]]},{"id":"7c71da62.bde474","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4310.333084106445,"y":2496.3296686708927,"z":"b1d019b.6dbd8e8","wires":[["ddeb2690.5c2138"]]},{"id":"ddeb2690.5c2138","type":"set","name":"set prop.hubRouteId prop.spokeRouteId","xml":"<set>\n<parameter name='prop.hubRouteId' value='`$prop.underlay.routeIds[$uidx].hubRouteId`' />\n<parameter name='prop.spokeRouteId' value='`$prop.underlay.routeIds[$uidx].spokeRouteId`' />\n","comments":"","x":4396.33309173584,"y":2568.32967248559,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9b298a8b.b4f888","type":"switchNode","name":"switch underlayRouteIds","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'underlayRouteIds'`\">\n","comments":"","outputs":1,"x":3436,"y":588.6627184450626,"z":"b1d019b.6dbd8e8","wires":[["3be394fa.ba925c"]]},{"id":"3be394fa.ba925c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3635.9994773864746,"y":576.6628328859806,"z":"b1d019b.6dbd8e8","wires":[["9920e23b.cd7d6"]]},{"id":"b59167a6.831738","type":"set","name":"set prop.underlay.routeIds","xml":"<set>\n<parameter name='prop.underlay.routeIdsString' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":4007.000877380371,"y":576.2635428011417,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2e975a9d.1a4246","type":"switchNode","name":"switch request-action","xml":"<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":1123.0002899169922,"y":2028.329627662897,"z":"b1d019b.6dbd8e8","wires":[["50fd57d3.4e6908","75c971c8.2ade9"]]},{"id":"50fd57d3.4e6908","type":"outcome","name":"ActivateSDWANAttachmentInstance","xml":"<outcome value='ActivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":1387.0003356933594,"y":1983.3296248018742,"z":"b1d019b.6dbd8e8","wires":[["392209cf.5e8ed6"]]},{"id":"392209cf.5e8ed6","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1628.9728469848633,"y":1979.7983757555485,"z":"b1d019b.6dbd8e8","wires":[["f0e8f4fb.c20608","c79bd758.d1a228","c32378d4.836d48","ec775956.c66808"]]},{"id":"c8905137.4ae61","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1632.9728355407715,"y":2063.7985445559025,"z":"b1d019b.6dbd8e8","wires":[["b63c926.b7d007"]]},{"id":"75c971c8.2ade9","type":"outcome","name":"DeactivateSDWANAttachmentInstance","xml":"<outcome value='DeactivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":1384.4729766845703,"y":2065.7983814775944,"z":"b1d019b.6dbd8e8","wires":[["c8905137.4ae61"]]},{"id":"b63c926.b7d007","type":"set","name":"set input parameter length -1","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length - 1`' />\n\n\n\n\n","comments":"","x":1861.6665344238281,"y":2062.32963052392,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ada095aa.2b5138","type":"comment","name":"Get route routes IDs","info":"","comments":"","x":3404.3334045410156,"y":2453.6627356112003,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c79bd758.d1a228","type":"set","name":"set  underlay route ids to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":1902.333480834961,"y":2011.6626717150211,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c32378d4.836d48","type":"for","name":"for jidx paramidx - Get topology from servicedata","xml":"<for index=\"jidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n","comments":"","outputs":1,"x":1991.3334045410156,"y":1558.329443603754,"z":"b1d019b.6dbd8e8","wires":[["59aabb37.7454e4"]]},{"id":"81edad0c.4f5ac","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat1\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].hubRouteId`'/>\n\n\n","comments":"","outputs":1,"x":2175.333740234375,"y":1691.996646553278,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"7fab8278.4c656c","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$prop.underlay.routeIds[$jidx].hubSiteId`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n","comments":"","outputs":1,"x":2185.3337326049805,"y":1644.662984520197,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"59aabb37.7454e4","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1898.333423614502,"y":1743.662773758173,"z":"b1d019b.6dbd8e8","wires":[["7fab8278.4c656c","81edad0c.4f5ac","bd7613d0.c6069","cafff242.d3dff","2fe3b3bd.2bc2ac","6f5dac0d.df1414"]]},{"id":"bd7613d0.c6069","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat1`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat2\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n","comments":"","outputs":1,"x":2182.3334426879883,"y":1731.6628777086735,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"cafff242.d3dff","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat2`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat3\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].spokeRouteId`'/>\n\n\n","comments":"","outputs":1,"x":2182.3334426879883,"y":1767.6628777086735,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2fe3b3bd.2bc2ac","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat3`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat4\"/>\n    <parameter name=\"target\" value=\" | \"/>\n\n\n","comments":"","outputs":1,"x":2175.3334426879883,"y":1807.996251732111,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"6f5dac0d.df1414","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.routeString`'/>\n    <parameter name=\"outputPath\" value=\"tmp.routeString\"/>\n    <parameter name=\"target\" value='`$tmp.concat4`'/>\n\n\n","comments":"","outputs":1,"x":2178.333381652832,"y":1862.6627909243107,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"ec775956.c66808","type":"set","name":"Set tmp.routeString","xml":"<set>\n<parameter name='tmp.routeString' value=\"\" />\n\n","comments":"","x":1895.3334045410156,"y":1499.6627747118473,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9920e23b.cd7d6","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3784.0002250671387,"y":622.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["b59167a6.831738","c00c7b4.2e5c088"]]},{"id":"c00c7b4.2e5c088","type":"execute","name":"execute split |","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsString`'/>\n<parameter name=\"regex\" value=\" | \"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValue\"/>\n","comments":"","outputs":1,"x":3962.0002365112305,"y":642.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["d71d5ee6.5fb61","71f30ffd.74297"]]},{"id":"71f30ffd.74297","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4139.0002517700195,"y":623.9961296617985,"z":"b1d019b.6dbd8e8","wires":[["5a3e2b9e.9c82d4"]]},{"id":"d71d5ee6.5fb61","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4128.0002517700195,"y":671.9961315691471,"z":"b1d019b.6dbd8e8","wires":[["e2b81ef4.58103"]]},{"id":"3ae500a3.3e9bf","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.underlay.routeIdsValues[0]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$prop.underlay.routeIdsValues[1]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$prop.underlay.routeIdsValues[2]`' />","comments":"","x":5325.001117706299,"y":557.9963718950748,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e2b81ef4.58103","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4258.000255584717,"y":671.9961315691471,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"5a3e2b9e.9c82d4","type":"for","name":"for loop ridx ","xml":"<for index=\"ridx\" start=\"0\" end=\"`$prop.underlay.routeIdsValue_length`\">\n    \n    \n","comments":"","outputs":1,"x":4284.999938964844,"y":621.9961296617985,"z":"b1d019b.6dbd8e8","wires":[["51bc75fb.70c9ec"]]},{"id":"51bc75fb.70c9ec","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4463.332950592041,"y":618.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["96fd714e.32a33"]]},{"id":"96fd714e.32a33","type":"execute","name":"execute split ,","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsValue[$ridx]`'/>\n<parameter name=\"regex\" value=\",\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValues\"/>\n","comments":"","outputs":1,"x":4638.332962036133,"y":617.9961287081242,"z":"b1d019b.6dbd8e8","wires":[["1c090ebd.4b1411","d83771e1.cb93f"]]},{"id":"1c090ebd.4b1411","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4795.33296585083,"y":594.9961363375187,"z":"b1d019b.6dbd8e8","wires":[["669de5ac.6729ac"]]},{"id":"d83771e1.cb93f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4784.33296585083,"y":642.9961382448673,"z":"b1d019b.6dbd8e8","wires":[["cb663456.f36218"]]},{"id":"cb663456.f36218","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4914.332969665527,"y":642.9961382448673,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"c59be3a3.5f1ff","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":5117.665496826172,"y":573.9962903559208,"z":"b1d019b.6dbd8e8","wires":[["3ae500a3.3e9bf","52bf6eab.78af3"]]},{"id":"52bf6eab.78af3","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n","comments":"","x":5317.333156585693,"y":599.9961678087711,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"669de5ac.6729ac","type":"switchNode","name":"switch prop.underlay.routeIdsValues_length","xml":"<switch test='`$prop.underlay.routeIdsValues_length`'>\n","comments":"","outputs":1,"x":4993.667121887207,"y":475.9961611330509,"z":"b1d019b.6dbd8e8","wires":[["43831c53.32aa44","286a0e51.c7df42"]]},{"id":"43831c53.32aa44","type":"outcome","name":"3","xml":"<outcome value='3'>\n","comments":"","outputs":1,"x":5228.636054992676,"y":512.9648882448673,"z":"b1d019b.6dbd8e8","wires":[["c59be3a3.5f1ff"]]},{"id":"286a0e51.c7df42","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":5245.666980743408,"y":394.9961020052433,"z":"b1d019b.6dbd8e8","wires":[["b1a5d346.3c838"]]},{"id":"b1a5d346.3c838","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":5406.66650390625,"y":434.99609246850014,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"9edc0016.5374a","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":2886.006446838379,"y":1008.3028489649296,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"36139e8.434ce62","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2872.0059547424316,"y":956.969269901514,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"aeaf4169.ad4e1","type":"set","name":"hardcode hub route","xml":"<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n","comments":"","x":3406.0079498291016,"y":1889.0040550231934,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"7b6ea599.d556bc","type":"set","name":"hardcode spoke route","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />","comments":"","x":3421.008316040039,"y":2046.0039640963078,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"5011194.82bcce8","type":"set","name":"hardcode hub route","xml":"<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n","comments":"","x":3437.3374786376953,"y":2522.000064522028,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"aa5933c2.13ab","type":"set","name":"hardcode spoke route","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />","comments":"","x":3462.337158203125,"y":2633.9999987185,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2c880b10.265824","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3473.0080757141113,"y":1253.5040480196476,"z":"b1d019b.6dbd8e8","wires":[["c82b1262.885e1","43b2a05a.a7d9b"]]},{"id":"27cac422.cfe53c","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3803.2580280303955,"y":1421.0040365755558,"z":"b1d019b.6dbd8e8","wires":[["4095ea96.600eb4"]]},{"id":"4095ea96.600eb4","type":"switchNode","name":"switch transportNetworkName==prop.spoke.transportNetworkName","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value == $prop.spoke.transportNetworkName`\">\n","comments":"","outputs":1,"x":4136.008050918579,"y":1423.0043121874332,"z":"b1d019b.6dbd8e8","wires":[["62cc8a78.a53c54"]]},{"id":"62cc8a78.a53c54","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4003.0094957351685,"y":1519.0042206346989,"z":"b1d019b.6dbd8e8","wires":[["79266ace.3e0f24"]]},{"id":"79266ace.3e0f24","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4158.759503364563,"y":1511.0042206346989,"z":"b1d019b.6dbd8e8","wires":[["b05226c4.bd3a28","eaeb7669.551da8"]]},{"id":"eaeb7669.551da8","type":"set","name":"set tmp.wanportvidx ","xml":"<set>\n<parameter name='tmp.wanportvidx' value='`$arvidx`' />\n\n","comments":"","x":4336.2604722976685,"y":1487.004341751337,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"eb5f2e.bb7a50d","type":"for","name":"for loop wanportvidx - Get wan port ID from servicedata","xml":"<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2744.5081939697266,"y":1699.0043436586857,"z":"b1d019b.6dbd8e8","wires":[["94ca8906.8e1df8"]]},{"id":"94ca8906.8e1df8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3047.5095977783203,"y":1657.004679352045,"z":"b1d019b.6dbd8e8","wires":[["de2e10d.04cb7f","c3406431.579fb8","5a48c14b.c2614"]]},{"id":"de2e10d.04cb7f","type":"switchNode","name":"switch wanPortId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`\">\n","comments":"","outputs":1,"x":3246.8432846069336,"y":1614.0048920214176,"z":"b1d019b.6dbd8e8","wires":[["31fd8292.a950ce"]]},{"id":"31fd8292.a950ce","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3407.8436126708984,"y":1615.0049721300602,"z":"b1d019b.6dbd8e8","wires":[["d6943196.7494d"]]},{"id":"d6943196.7494d","type":"set","name":"set prop.hub.wanPortId","xml":"<set>\n<parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3597.8440742492676,"y":1614.6052481234074,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c3406431.579fb8","type":"switchNode","name":"switch providerIpAddress","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`\">\n","comments":"","outputs":1,"x":3268.371768951416,"y":1651.2011968195438,"z":"b1d019b.6dbd8e8","wires":[["db88a61d.083358"]]},{"id":"db88a61d.083358","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.3727531433105,"y":1651.2013193666935,"z":"b1d019b.6dbd8e8","wires":[["5328c878.a15168"]]},{"id":"5328c878.a15168","type":"set","name":"set prop.hub.providerIpAddress","xml":"<set>\n<parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3646.372791290283,"y":1651.8012396395206,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"5a48c14b.c2614","type":"switchNode","name":"switch ipAddress","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`\">\n","comments":"","outputs":1,"x":3240.871850967407,"y":1688.7012821733952,"z":"b1d019b.6dbd8e8","wires":[["1b2197ee.121938"]]},{"id":"1b2197ee.121938","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.872791290283,"y":1688.7012340128422,"z":"b1d019b.6dbd8e8","wires":[["fe46a76e.a6fa58"]]},{"id":"fe46a76e.a6fa58","type":"set","name":"set prop.hub.ipAddress","xml":"<set>\n<parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3639.8727951049805,"y":1688.3012095987797,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"76b9bae0.83f2b4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3847.258213043213,"y":1882.2540187835693,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2019f4f3.e1c6cc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3846.258029937744,"y":1928.253957748413,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"58d448af.a07fd8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.258399963379,"y":2090.254084587097,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"928f88f0.d6ee18","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3866.2581577301025,"y":2137.2540855407715,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a62325e4.8d0b68","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3864.2582054138184,"y":2580.0039698183537,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"3b45764d.017e4a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.257963180542,"y":2627.003970772028,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"8336cdde.f9fe3","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 sdwan hub route underlay rest api\" />\n","comments":"","x":4017.340606689453,"y":2581.9710108339787,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8c851f6f.caa55","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3864.2578125,"y":2671.0039049685,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"29ad144c.f2690c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.2575702667236,"y":2718.0039059221745,"z":"b1d019b.6dbd8e8","wires":[[]]}]
\ No newline at end of file
index 0b1772d..e920aca 100644 (file)
     "id": "cd48267e.9edf28",
     "type": "execute",
     "name": "execute RestApiCallNode Create  SDWAN site",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-' + $template.site.role + '.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"site-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-' + $template.site.role + '.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"site-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1250.71484375,
     "id": "416674e0.73681c",
     "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\"/>",
+    "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.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": 1224.468879699707,
index f97be6b..739b68f 100644 (file)
     "id": "f6e580dc.483b5",
     "type": "execute",
     "name": "execute RestApiCallNode Create  SDWAN site",
-    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"site-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`\" />",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/action/batch-delete'`\" />\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=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"site-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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1288.8574905395508,
     "id": "8fc11da9.0efed",
     "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\"/>",
+    "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.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": 1277.0000762939453,
index 80b2232..a7f0a98 100644 (file)
     "id": "ce79c05a.55781",
     "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`\" />",
+    "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.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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1945.96923828125,
     "id": "dfdb9aed.f71ce8",
     "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`\" />",
+    "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.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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 1473.973056793213,
index a0bd528..be0e169 100644 (file)
     "id": "8e68e45a.813908",
     "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=' + $tmp.actual.vpn-name`\" />\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`\" />",
+    "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=' + $tmp.actual.vpn-name`\" />\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.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<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
     "comments": "",
     "outputs": 1,
     "x": 2292.96964263916,
index 5458556..b3e2b21 100644 (file)
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
                             <parameter name="responsePrefix" value="token-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
                             <parameter name="responsePrefix" value="vpn-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="put" />\r
                             <parameter name="responsePrefix" value="vrf-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
                             <parameter name="responsePrefix" value="site-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
index a6392ba..0624045 100644 (file)
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="post" />\r
                             <parameter name="responsePrefix" value="token-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="delete" />\r
                             <parameter name="responsePrefix" value="site-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="delete" />\r
                             <parameter name="responsePrefix" value="vrf1-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="delete" />\r
                             <parameter name="responsePrefix" value="vrf2-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
                             <parameter name="format" value="json" />\r
                             <parameter name="httpMethod" value="delete" />\r
                             <parameter name="responsePrefix" value="vpn-result" />\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks" />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks" />\r
                             <parameter name="trustStorePassword" value="adminadmin" />\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12" />\r
                             <parameter name="keyStorePassword" value="adminadmin" />\r
index c54ff02..df80e2d 100644 (file)
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="tenant-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="vpn-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="vpn-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index 2d10d4e..180d317 100644 (file)
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="tenant-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="vpn-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="vpn-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index 6488582..98d8bc9 100644 (file)
@@ -39,7 +39,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="put"/>\r
                 <parameter name="responsePrefix" value="tenant-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index 553852d..ffd5ee7 100644 (file)
@@ -65,7 +65,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                                     <parameter name="format" value="json"/>\r
                                     <parameter name="httpMethod" value="post"/>\r
                                     <parameter name="responsePrefix" value="tenant-result"/>\r
-                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
                                     <parameter name="format" value="json"/>\r
                                     <parameter name="httpMethod" value="put"/>\r
                                     <parameter name="responsePrefix" value="tenant-result"/>\r
-                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
                                     <parameter name="format" value="json"/>\r
                                     <parameter name="httpMethod" value="put"/>\r
                                     <parameter name="responsePrefix" value="tenant-result"/>\r
-                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
                     <parameter name="format" value="json"/>\r
                     <parameter name="httpMethod" value="put"/>\r
                     <parameter name="responsePrefix" value="orchestration-result"/>\r
-                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                     <parameter name="keyStorePassword" value="adminadmin"/>\r
                     <parameter name="format" value="json"/>\r
                     <parameter name="httpMethod" value="post"/>\r
                     <parameter name="responsePrefix" value="vpn-result"/>\r
-                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                     <parameter name="keyStorePassword" value="adminadmin"/>\r
                     <parameter name="format" value="json"/>\r
                     <parameter name="httpMethod" value="post"/>\r
                     <parameter name="responsePrefix" value="vpn-result"/>\r
-                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                     <parameter name="keyStorePassword" value="adminadmin"/>\r
index abbe089..f2d0b1b 100644 (file)
@@ -79,7 +79,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                                     <parameter name="format" value="json"/>\r
                                     <parameter name="httpMethod" value="put"/>\r
                                     <parameter name="responsePrefix" value="tenant-result"/>\r
-                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="delete"/>\r
                 <parameter name="responsePrefix" value="vpn-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="vpn-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index cb02af6..54bae83 100644 (file)
@@ -74,7 +74,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
@@ -96,7 +96,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="deviceResp"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index 9ded93e..d2a8129 100644 (file)
@@ -67,7 +67,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
@@ -95,7 +95,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="delete"/>\r
                 <parameter name="responsePrefix" value="deviceResp"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index 0116dac..720c1da 100644 (file)
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="portResp"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="get"/>\r
                 <parameter name="responsePrefix" value="transportNetworksResp"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="wanPortResp"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index bf5d4af..fa3d885 100644 (file)
@@ -87,7 +87,7 @@
                 <parameter name="format" value="json"/>\r
                 <parameter name="httpMethod" value="post"/>\r
                 <parameter name="responsePrefix" value="token-result"/>\r
-                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                 <parameter name="trustStorePassword" value="adminadmin"/>\r
                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                 <parameter name="keyStorePassword" value="adminadmin"/>\r
index 290426b..d075c21 100644 (file)
                                                                                             <parameter name="format" value="json"/>\r
                                                                                             <parameter name="httpMethod" value="post"/>\r
                                                                                             <parameter name="responsePrefix" value="underlayHubResp"/>\r
-                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="format" value="json"/>\r
                                                                                             <parameter name="httpMethod" value="post"/>\r
                                                                                             <parameter name="responsePrefix" value="underlayspokeResp"/>\r
-                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="format" value="json"/>\r
                                                                                             <parameter name="httpMethod" value="post"/>\r
                                                                                             <parameter name="responsePrefix" value="underlayHubResp"/>\r
-                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="format" value="json"/>\r
                                                                                             <parameter name="httpMethod" value="post"/>\r
                                                                                             <parameter name="responsePrefix" value="underlayspokeResp"/>\r
-                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
                         <parameter name="format" value="json"/>\r
                         <parameter name="httpMethod" value="post"/>\r
                         <parameter name="responsePrefix" value="provisionUrlRsp"/>\r
-                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                         <parameter name="trustStorePassword" value="adminadmin"/>\r
                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                         <parameter name="keyStorePassword" value="adminadmin"/>\r
index 3fc0bc7..4c0e09f 100644 (file)
                             <parameter name="format" value="json"/>\r
                             <parameter name="httpMethod" value="post"/>\r
                             <parameter name="responsePrefix" value="token-result"/>\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                             <parameter name="keyStorePassword" value="adminadmin"/>\r
                             <parameter name="format" value="json"/>\r
                             <parameter name="httpMethod" value="post"/>\r
                             <parameter name="responsePrefix" value="site-result"/>\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                             <parameter name="keyStorePassword" value="adminadmin"/>\r
index de4d052..4f90141 100644 (file)
                             <parameter name="format" value="json"/>\r
                             <parameter name="httpMethod" value="post"/>\r
                             <parameter name="responsePrefix" value="token-result"/>\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                             <parameter name="keyStorePassword" value="adminadmin"/>\r
                             <parameter name="format" value="json"/>\r
                             <parameter name="httpMethod" value="post"/>\r
                             <parameter name="responsePrefix" value="site-result"/>\r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                             <parameter name="trustStorePassword" value="adminadmin"/>\r
                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                             <parameter name="keyStorePassword" value="adminadmin"/>\r
index 9e0e96c..28f3b75 100644 (file)
                                 <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="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
                                 <parameter name="trustStorePassword" value="adminadmin"/>
                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
                                 <parameter name="keyStorePassword" value="adminadmin"/>
                                         <parameter name="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="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"/>
index 5452fc8..9fc30e6 100644 (file)
                                                         <parameter name="format" value="json"/>\r
                                                         <parameter name="httpMethod" value="delete"/>\r
                                                         <parameter name="responsePrefix" value="vpn-result"/>\r
-                                                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
index 2f3a70d..3240892 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
                <relativePath/>
        </parent>
 
index a8e4546..9fc5ff8 100644 (file)
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-       xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-       <id>bin</id>
-       <formats>
-               <format>zip</format>
-       </formats>
-
-       <includeBaseDirectory>false</includeBaseDirectory>
-
-       <fileSets>
-
-               <fileSet>
-                       <directory>../target/svclogic</directory>
-                       <outputDirectory>svclogic</outputDirectory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-               </fileSet>
-               <fileSet>
-                       <directory>../target/restapi</directory>
-                       <outputDirectory>restapi</outputDirectory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-               </fileSet>
-
-       </fileSets>
-
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>bin</id>
+    <formats>
+        <format>zip</format>
+    </formats>
+
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <fileSets>
+
+        <fileSet>
+            <directory>../target/svclogic</directory>
+            <outputDirectory>svclogic</outputDirectory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>../target/restapi</directory>
+            <outputDirectory>restapi</outputDirectory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>../target/restconfapi</directory>
+            <outputDirectory>restconfapi</outputDirectory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+        </fileSet>
+
+    </fileSets>
 
 
 </assembly>
index d934311..e8d6256 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
         <relativePath />
        </parent>
 
index 4fb1839..1c80310 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
         <relativePath />
     </parent>
 
@@ -26,6 +26,7 @@
         <module>vnfapi</module>
         <module>lcm</module>
         <module>restapi-templates</module>
+        <module>restconfapi-yang</module>
         <module>datachange</module>
         <module>installer</module>
     </modules>
index cd767fd..48ed517 100644 (file)
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
         <relativePath />
     </parent>
 
diff --git a/platform-logic/restapi-templates/src/main/json/getzteodutoponodedetailstemplate.json b/platform-logic/restapi-templates/src/main/json/getzteodutoponodedetailstemplate.json
new file mode 100644 (file)
index 0000000..5d89383
--- /dev/null
@@ -0,0 +1,6 @@
+
+{
+  "input":{
+     "node-id":${prop.zte.odutopo.node.name}
+  }
+}
diff --git a/platform-logic/restapi-templates/src/main/json/getzteodutoponodenepdetailstemplate.json b/platform-logic/restapi-templates/src/main/json/getzteodutoponodenepdetailstemplate.json
new file mode 100644 (file)
index 0000000..7f84b6d
--- /dev/null
@@ -0,0 +1,6 @@
+
+{
+  "input":{
+     "node-edge-point-id":${prop.zte.odutopo.node.nep.uuid}
+  }
+}
diff --git a/platform-logic/restapi-templates/src/main/json/getzteodutoponodetemplate.json b/platform-logic/restapi-templates/src/main/json/getzteodutoponodetemplate.json
new file mode 100644 (file)
index 0000000..d7e9cde
--- /dev/null
@@ -0,0 +1,6 @@
+
+{
+  "input":{
+     "topology-name":${prop.zte.odutopo.name}
+  }
+}
diff --git a/platform-logic/restapi-templates/src/main/json/getzteodutopotemplate.json b/platform-logic/restapi-templates/src/main/json/getzteodutopotemplate.json
new file mode 100644 (file)
index 0000000..2925399
--- /dev/null
@@ -0,0 +1,5 @@
+
+{
+  "input":{
+  }
+}
diff --git a/platform-logic/restconfapi-yang/pom.xml b/platform-logic/restconfapi-yang/pom.xml
new file mode 100644 (file)
index 0000000..38874aa
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>1.1.1-SNAPSHOT</version>
+        <relativePath />
+    </parent>
+
+    <groupId>org.onap.sdnc.oam</groupId>
+    <artifactId>platform-logic-restconfapi-yang</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>sdnc-oam :: platform-logic :: ${project.artifactId}</name>
+    <description>Contains Restconf API YANG</description>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-version</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>validate</phase>
+                        <configuration>
+                            <outputDirectory>../target/restconfapi/yang</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/yang</directory>
+                                    <includes>
+                                        <include>*.yang</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang
new file mode 100644 (file)
index 0000000..cb7c8f0
--- /dev/null
@@ -0,0 +1,572 @@
+module ietf-eth-tran-service {
+
+  namespace "urn:ietf:params:xml:ns:yang:ietf-eth-tran-service";
+
+  prefix "ethtsvc";
+
+        import ietf-yang-types {
+                prefix "yang";
+        }
+
+  import ietf-te-types {
+    prefix "te-types";
+  }
+
+  import ietf-eth-tran-types {
+    prefix "etht-types";
+  }
+
+        organization
+                "Internet Engineering Task Force (IETF) CCAMP WG";
+  contact
+    "
+      WG List: <mailto:ccamp@ietf.org>
+      ID-draft editor:
+        Haomian Zheng (zhenghaomian@huawei.com);
+        Italo Busi (italo.busi@huawei.com);
+        Aihua Guo (aihuaguo@huawei.com);
+        Yunbin Xu (xuyunbin@ritt.cn);
+        Yang Zhao (zhaoyangyjy@chinamobile.com);
+        Xufeng Liu (Xufeng_Liu@jabil.com);
+        Giuseppe Fioccola (giuseppe.fioccola@telecomitalia.it);
+    ";
+
+  description
+    "This module defines a YANG data model for describing
+     the Ethernet transport services.";
+
+        revision 2018-03-01 {
+                description
+                        "Initial revision";
+                reference
+                        "draft-zheng-ccamp-client-signal-yang";
+        }
+
+  /*
+  Groupings
+  */
+
+  grouping vlan-classification {
+    description
+      "A grouping which represents classification on an 802.1Q VLAN tag.";
+
+    leaf tag-type {
+      type etht-types:eth-tag-classify;
+      description
+        "The tag type used for VLAN classification.";
+    }
+    choice individual-bundling-vlan {
+      description
+        "VLAN based classification can be individual
+         or bundling.";
+      case individual-vlan {
+        leaf vlan-value {
+          type etht-types:vlanid;
+          description
+            "VLAN ID value.";
+        }
+      }
+
+      case vlan-bundling {
+        leaf vlan-range {
+          type etht-types:vid-range-type;
+          description
+            "List of VLAN ID values.";
+        }
+      }
+    }
+  }
+
+  grouping vlan-write {
+    description
+      "A grouping which represents push/pop operations
+       of an 802.1Q VLAN tag.";
+
+    leaf tag-type {
+      type etht-types:eth-tag-type;
+      description
+        "The VLAN tag type to push/swap.";
+    }
+    leaf vlan-value {
+      type etht-types:vlanid;
+      description
+        "The VLAN ID value to push/swap.";
+    }
+  }
+
+  grouping vlan-operations {
+    description
+      "A grouping which represents VLAN operations.";
+
+      leaf pop-tags {
+      type uint8 {
+        range "1..2";
+      }
+      description
+        "The number of VLAN tags to pop (or swap if used in
+         conjunction with push-tags)";
+    }
+    container push-tags {
+      description
+        "The VLAN tags to push (or swap if used in
+         conjunction with pop-tags)";
+
+      container outer-tag {
+        presence
+          "Indicates existence of the outermost VLAN tag to
+           push/swap";
+
+        description
+          "The outermost VLAN tag to push/swap.";
+
+        uses vlan-write;
+      }
+      container second-tag {
+        must
+                                        '../outer-tag/tag-type = "s-vlan-tag-type" and ' +
+                                        'tag-type = "c-vlan-tag-type"'
+        {
+
+          error-message
+            "
+              When pushing/swapping two tags, the outermost tag must
+              be specified and of S-VLAN type and the second
+              outermost tag must be of C-VLAN tag type.
+            ";
+          description
+            "
+              For IEEE 802.1Q interoperability, when pushing/swapping
+              two tags, it is required that the outermost tag exists
+              and is an S-VLAN, and the second outermost tag is a
+              C-VLAN.
+            ";
+        }
+
+        presence
+          "Indicates existence of a second outermost VLAN tag to
+           push/swap";
+
+        description
+          "The second outermost VLAN tag to push/swap.";
+
+        uses vlan-write;
+      }
+    }
+  }
+
+  grouping bandwidth-profiles {
+    description
+      "A grouping which represent bandwidth profile configuration.";
+
+    choice direction {
+      description
+        "Whether the bandwidth profiles are symmetrical or
+         asymmetrical";
+      case symmetrical {
+        description
+          "The same bandwidth profile is used to describe the ingress
+          and the egress bandwidth profile.";
+
+        leaf ingress-egress-bandwidth-profile-name {
+          type "string";
+          description
+            "Name of the bandwidth profile.";
+        }
+      }
+      case asymmetrical {
+        description
+          "Ingress and egress bandwidth profiles can be specified.";
+        leaf ingress-bandwidth-profile-name {
+          type "string";
+          description
+            "Name of the bandwidth profile used in
+             the ingress direction.";
+        }
+        leaf egress-bandwidth-profile-name {
+          type "string";
+          description
+            "Name of the bandwidth profile used in
+             the egress direction.";
+        }
+      }
+    }
+  }
+
+  grouping etht-svc-access-parameters {
+    description
+      "ETH transport services access parameters";
+
+    leaf access-node-id {
+      type te-types:te-node-id;
+      description
+        "The identifier of the access node in
+         the ETH transport topology.";
+    }
+    leaf access-ltp-id {
+      type te-types:te-tp-id;
+      description
+        "The TE link termination point identifier, used
+         together with access-node-id to identify the
+         access LTP.";
+    }
+    leaf service-classification-type {
+      type identityref {
+        base etht-types:service-classification-type;
+      }
+      description
+        "Service classification type.";
+    }
+
+    choice service-classification {
+      description
+        "Access classification can be port-based or
+         VLAN based.";
+
+      case port-classification {
+        /* no additional information */
+      }
+
+      case vlan-classification {
+        container outer-tag {
+          presence "The outermost VLAN tag exists";
+          description
+            "Classifies traffic using the outermost VLAN tag.";
+
+          uses vlan-classification;
+        }
+        container second-tag {
+          must
+                                                '../outer-tag/tag-type = "classify-s-vlan" and ' +
+                                                'tag-type = "classify-c-vlan"'
+          {
+
+            error-message
+              "
+                When matching two tags, the outermost tag must be
+                specified and of S-VLAN type and the second
+                outermost tag must be of C-VLAN tag type.
+              ";
+            description
+              "
+                For IEEE 802.1Q interoperability, when matching two
+                tags, it is required that the outermost tag exists
+                and is an S-VLAN, and the second outermost tag is a
+                C-VLAN.
+              ";
+          }
+          presence "The second outermost VLAN tag exists";
+
+          description
+            "Classifies traffic using the second outermost VLAN tag.";
+
+          uses vlan-classification;
+        }
+      }
+    }
+
+/*
+        Open issue: can we constraints it to be used only with mp services?
+*/
+                leaf split-horizon-group {
+                        type string;
+                        description "Identify a split horizon group";
+                }
+
+    uses bandwidth-profiles;
+
+    container vlan-operations {
+        description
+          "include parameters for vlan-operation";
+      choice direction {
+        description
+          "Whether the VLAN operations are symmetrical or
+           asymmetrical";
+        case symmetrical {
+          container symmetrical-operation {
+            uses vlan-operations;
+            description
+              "Symmetrical operations.
+               Expressed in the ingress direction, but
+               the reverse operation is applied to egress traffic";
+          }
+        }
+        case asymmetrical {
+          container asymmetrical-operation {
+            description "Asymmetrical operations";
+            container ingress {
+              uses vlan-operations;
+              description "Ingress operations";
+            }
+            container egress {
+              uses vlan-operations;
+              description "Egress operations";
+            }
+          }
+        }
+      }
+    }
+  }
+
+  grouping etht-svc-tunnel-parameters {
+    description
+      "ETH transport services tunnel parameters";
+
+    leaf tunnel-name {
+      type string;
+      description
+        "TE service tunnel instance name.";
+    }
+    choice svc-multiplexing-tag {
+      description
+        "Service multiplexing is optional and flexible.";
+
+      case other {
+        /*
+         placeholder to support proprietary multiplexing
+         (for further discussion)
+        */
+                        }
+
+      case none {
+        /* no additional information is needed */
+                        }
+
+      case vlan-tag {
+        /*
+          No additional information is needed
+          The C-Tag or S-Tag used for service mulitplexing is defined
+          by the VLAN classification and operations configured in the
+          etht-svc-access-parameters grouping
+        */
+                        }
+
+      case pw {
+        /* to be completed (for further discussion) */
+                        }
+    }
+
+/*
+        Open issue: can we constraints it to be used only with mp services?
+*/
+                leaf src-split-horizon-group {
+                        type string;
+                        description "Identify a split horizon group at the Tunnel source TTP";
+                }
+                leaf dst-split-horizon-group {
+                        type string;
+                        description "Identify a split horizon group at the Tunnel destination TTP";
+                }
+  }
+
+  grouping te-topology-identifier {
+                description
+        "An identifier to uniquely identify the TE topology.";
+    leaf access-provider-id {
+      type te-types:te-global-id;
+      description
+        "An identifier to uniquely identify a provider.";
+    }
+    leaf access-client-id {
+      type te-types:te-global-id;
+      description
+        "An identifier to uniquely identify a client.";
+    }
+    leaf access-topology-id {
+      type te-types:te-topology-id;
+      description
+        "Identifies the topology the
+        service access ports belong to.";
+    }
+  }
+
+        grouping  etht-svc-pm-threshold_config {
+                description
+                        "Configuraiton parameters for Ethernet service PM thresholds.";
+
+                leaf sending-rate-high {
+                        type uint64;
+                        description
+                                "High threshold of packet sending rate in kbps.";
+                }
+                leaf sending-rate-low {
+                        type uint64;
+                        description
+                                "Low threshold of packet sending rate in kbps.";
+                }
+                leaf receiving-rate-high {
+                        type uint64;
+                        description
+                                "High threshold of packet receiving rate in kbps.";
+                }
+                leaf receiving-rate-low {
+                        type uint64;
+                        description
+                                "Low threshold of packet receiving rate in kbps.";
+                }
+        }
+
+        grouping  etht-svc-pm-stats {
+                description
+                        "Ethernet service PM statistics.";
+
+                leaf sending-rate-too-high {
+                        type uint32;
+                        description
+                                "Counter that indicates the number of times the sending rate is above the high threshold";
+                }
+                leaf sending-rate-too-low {
+                        type uint32;
+                        description
+                                "Counter that indicates the number of times the sending rate is below the low threshold";
+                }
+                leaf receiving-rate-too-high {
+                        type uint32;
+                        description
+                                "Counter that indicates the number of times the receiving rate is above the high threshold";
+                }
+                leaf receiving-rate-too-low {
+                        type uint32;
+                        description
+                                "Counter that indicates the number of times the receiving rate is below the low threshold";
+                }
+        }
+
+  grouping  etht-svc-instance_config {
+    description
+      "Configuraiton parameters for Ethernet services.";
+
+    leaf etht-svc-name {
+      type string;
+      description
+        "Name of the p2p ETH transport service.";
+    }
+
+                leaf etht-svc-descr {
+                        type string;
+                        description
+                                "Description of the ETH transport service.";
+                }
+
+                leaf etht-svc-type {
+                        type etht-types:service-type;
+                        description
+                                "Type of Ethernet service (p2p, mp2mp or rmp).";
+                        /* Add default as p2p */
+                }
+
+                uses te-topology-identifier;
+
+    list etht-svc-access-ports {
+      key access-port-id;
+      min-elements "1";
+/*
+        Open Issue:
+                Is it possible to limit the max-elements only for p2p services?
+                        max-elements "2";
+*/
+      description
+        "List of the ETH trasport services access port instances.";
+
+      leaf access-port-id {
+        type uint16;
+        description
+          "ID of the service access port instance";
+      }
+        uses etht-svc-access-parameters;
+    }
+    list etht-svc-tunnels {
+      key tunnel-name;
+      description
+        "List of the TE Tunnels supporting the ETH
+        transport service.";
+
+      uses etht-svc-tunnel-parameters;
+    }
+                container pm-config {
+                        description
+                                "ETH service performance monitoring";
+
+                        leaf pm-enable {
+                                type boolean;
+                                description
+                                        "Boolean value indicating whether PM is enabled.";
+                        }
+                        uses etht-svc-pm-threshold_config;
+                }
+    leaf admin-status {
+      type identityref {
+        base te-types:tunnel-state-type;
+      }
+      default te-types:tunnel-state-up;
+      description "ETH service administrative state.";
+    }
+        }
+
+  grouping  etht-svc-instance_state {
+    description
+      "State parameters for Ethernet services.";
+
+    leaf operational-state {
+          type identityref {
+        base te-types:tunnel-state-type;
+      }
+      default te-types:tunnel-state-up;
+          description "ETH service operational state.";
+    }
+    leaf provisioning-state {
+      type identityref {
+        base te-types:lsp-state-type;
+      }
+      description "ETH service provisioning state.";
+    }
+                leaf creation-time {
+                        type yang:date-and-time;
+                        description
+                                "Time of ETH service creation.";
+                }
+                leaf last-updated-time {
+                        type yang:date-and-time;
+                        description
+                                "Time of ETH service last update.";
+                }
+                uses etht-svc-pm-stats;
+  }
+
+  /*
+  Data nodes
+  */
+
+  container etht-svc {
+    description
+      "ETH transport services.";
+
+    container globals {
+      description
+      "ETH profile information.";
+      list etht-svc-bandwidth-profiles {
+        key bandwidth-profile-name;
+        description
+          "List of bandwidth profile templates used by
+           Ethernet services.";
+
+        uses etht-types:etht-bandwidth-profiles;
+      }
+    }
+
+    list etht-svc-instances {
+      key etht-svc-name;
+      description
+        "The list of p2p ETH transport service instances";
+
+      uses etht-svc-instance_config;
+
+      container state {
+        config false;
+        description
+          "Ethernet Service states.";
+
+        uses etht-svc-instance_state;
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-types@2018-05-24.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-types@2018-05-24.yang
new file mode 100644 (file)
index 0000000..3775f36
--- /dev/null
@@ -0,0 +1,303 @@
+module ietf-eth-tran-types {
+  namespace "urn:ietf:params:xml:ns:yang:ietf-eth-tran-types";
+  prefix "etht-types";
+
+  organization
+    "Internet Engineering Task Force (IETF) CCAMP WG";
+  contact
+    "
+      WG List: <mailto:ccamp@ietf.org>
+      ID-draft editor:
+        Haomian Zheng (zhenghaomian@huawei.com);
+        Italo Busi (italo.busi@huawei.com);
+        Aihua Guo (aihuaguo@huawei.com);
+        Yunbin Xu (xuyunbin@ritt.cn);
+        Yang Zhao (zhaoyangyjy@chinamobile.com);
+        Xufeng Liu (Xufeng_Liu@jabil.com);
+        Giuseppe Fioccola (giuseppe.fioccola@telecomitalia.it);
+    ";
+
+  description
+    "This module defines the ETH transport types.";
+
+  revision 2018-05-24 {
+    description
+      "Initial revision";
+    reference
+      "draft-zheng-ccamp-client-signal-yang";
+  }
+
+  /*
+   * Identities
+   */
+
+  identity eth-vlan-tag-type {
+    description
+      "ETH VLAN tag type.";
+  }
+
+  identity c-vlan-tag-type {
+    base eth-vlan-tag-type;
+    description
+      "802.1Q Customer VLAN";
+  }
+
+  identity s-vlan-tag-type {
+    base eth-vlan-tag-type;
+    description
+      "802.1Q Service VLAN (QinQ)";
+  }
+
+  identity service-classification-type {
+    description
+      "Service classification.";
+  }
+
+  identity port-classification {
+    base service-classification-type;
+    description
+      "Port classification.";
+  }
+
+  identity vlan-classification {
+    base service-classification-type;
+    description
+      "VLAN classification.";
+  }
+
+  identity eth-vlan-tag-classify {
+    description
+      "VLAN tag classification.";
+  }
+
+  identity classify-c-vlan {
+    base eth-vlan-tag-classify;
+    description
+      "Classify 802.1Q Customer VLAN tag.
+       Only C-tag type is accepted";
+  }
+
+  identity classify-s-vlan {
+    base eth-vlan-tag-classify;
+    description
+      "Classify 802.1Q Service VLAN (QinQ) tag.
+       Only S-tag type is accepted";
+  }
+
+  identity classify-s-or-c-vlan {
+    base eth-vlan-tag-classify;
+    description
+      "Classify S-VLAN or C-VLAN tag-classify.
+       Either tag is accepted";
+  }
+
+  identity bandwidth-profile-type {
+    description
+      "Bandwidth Profile Types";
+  }
+
+  identity mef-10-bwp {
+    base bandwidth-profile-type;
+    description
+      "MEF 10 Bandwidth Profile";
+  }
+  identity rfc-2697-bwp {
+    base bandwidth-profile-type;
+    description
+      "RFC 2697 Bandwidth Profile";
+  }
+
+  identity rfc-2698-bwp {
+    base bandwidth-profile-type;
+    description
+      "RFC 2698 Bandwidth Profile";
+  }
+
+  identity rfc-4115-bwp {
+    base bandwidth-profile-type;
+    description
+      "RFC 4115 Bandwidth Profile";
+  }
+
+  identity service-type {
+    description
+      "Type of Ethernet service.";
+  }
+
+  identity p2p-svc {
+    base service-type;
+    description
+      "Ethernet point-to-point service (EPL, EVPL).";
+  }
+
+  identity rmp-svc {
+    base service-type;
+    description
+      "Ethernet rooted-multitpoint service (E-TREE, EP-TREE).";
+  }
+
+  identity mp2mp-svc {
+    base service-type;
+    description
+      "Ethernet multipoint-to-multitpoint service (E-LAN, EP-LAN).";
+  }
+
+  /*
+   * Type Definitions
+   */
+
+  typedef eth-tag-type {
+    type identityref {
+      base eth-vlan-tag-type;
+    }
+    description
+      "Identifies a specific ETH VLAN tag type.";
+  }
+
+  typedef eth-tag-classify {
+    type identityref {
+      base eth-vlan-tag-classify;
+    }
+    description
+      "Identifies a specific VLAN tag classification.";
+  }
+
+  typedef vlanid {
+    type uint16 {
+      range "1..4094";
+    }
+    description
+      "The 12-bit VLAN-ID used in the VLAN Tag header.";
+  }
+
+  typedef vid-range-type {
+    type string {
+      pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" +
+              "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
+    }
+    description
+      "A list of VLAN Ids, or non overlapping VLAN ranges, in
+       ascending order, between 1 and 4094.
+       This type is used to match an ordered list of VLAN Ids, or
+       contiguous ranges of VLAN Ids. Valid VLAN Ids must be in the
+       range 1 to 4094, and included in the list in non overlapping
+       ascending order.
+       For example: 1,10-100,50,500-1000";
+  }
+
+  typedef bandwidth-profile-type {
+    type identityref {
+      base bandwidth-profile-type;
+    }
+    description
+      "Identifies a specific Bandwidth Profile type.";
+    }
+
+  typedef service-type {
+    type identityref {
+      base service-type;
+    }
+    description
+      "Identifies the type of Ethernet service.";
+  }
+
+  /*
+   * Grouping Definitions
+   */
+
+  grouping etht-bandwidth-profiles {
+    description
+      "Bandwidth profile configuration paramters.";
+
+    leaf bandwidth-profile-name {
+      type string;
+      description
+        "Name of the bandwidth profile.";
+    }
+    leaf bandwidth-profile-type {
+      type etht-types:bandwidth-profile-type;
+      description
+        "The type of bandwidth profile.";
+    }
+    leaf CIR {
+      type uint64;
+      description
+        "Committed Information Rate in Kbps";
+    }
+    leaf CBS {
+      type uint64;
+      description
+        "Committed Burst Size in in KBytes";
+    }
+    leaf EIR {
+      type uint64;
+/*
+ * Open Issue: need to indicate that EIR is not supported by RFC 2697
+ *   must
+ *     '../bw-profile-type = "mef-10-bwp" or ' +
+ *     '../bw-profile-type = "rfc-2698-bwp" or ' +
+ *     '../bw-profile-type = "rfc-4115-bwp"'
+ *
+ *   must
+ *     '../bw-profile-type != "rfc-2697-bwp"'
+*/
+      description
+        "Excess Information Rate in Kbps
+         In case of RFC 2698, PIR = CIR + EIR";
+    }
+    leaf EBS {
+      type uint64;
+      description
+        "Excess Burst Size in KBytes.
+         In case of RFC 2698, PBS = CBS + EBS";
+    }
+    leaf color-aware {
+      type boolean;
+      description
+        "Indicates weather the color-mode is color-aware or color-blind.";
+    }
+    leaf coupling-flag {
+      type boolean;
+/*
+ * Open issue: need to indicate that Coupling Flag is defined only for MEF 10
+ *
+ *   must
+ *     '../bw-profile-type = "mef-10-bwp"'
+ */
+      description
+        "Coupling Flag.";
+    }
+  }
+
+  grouping eth-bandwidth {
+    leaf eth-bandwidth {
+      type uint64 {
+        range "0..10000000000";
+      }
+      units "Kbps";
+      description
+        "Available bandwith value expressed in kilobits per second";
+    }
+  }
+
+  grouping eth-label-restriction {
+          container eth-label-restriction {
+      leaf tag-type {
+        type etht-types:eth-tag-type;
+        description "VLAN tag type.";
+      }
+      leaf priority {
+              type uint8;
+              description "priority.";
+            }
+    }
+  }
+
+  grouping eth-label {
+    leaf vlanid {
+      type etht-types:vlanid;
+        description
+          "VLAN tag id.";
+      }
+    }
+}
\ No newline at end of file
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-inet-types.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-inet-types.yang
new file mode 100644 (file)
index 0000000..c4033b8
--- /dev/null
@@ -0,0 +1,430 @@
+module ietf-inet-types {
+
+  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
+  prefix "inet";
+
+  organization
+   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
+
+  contact
+   "WG Web:   <http://tools.ietf.org/wg/netmod/>
+    WG List:  <mailto:netmod@ietf.org>
+    WG Chair: David Kessens
+              <mailto:david.kessens@nsn.com>
+    WG Chair: Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>
+    Editor:   Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>";
+
+  description
+   "This module contains a collection of generally useful derived
+    YANG data types for Internet addresses and related things.
+    Copyright (c) 2013 IETF Trust and the persons identified as
+    authors of the code.  All rights reserved.
+    Redistribution and use in source and binary forms, with or
+    without modification, is permitted pursuant to, and subject
+    to the license terms contained in, the Simplified BSD License
+    set forth in Section 4.c of the IETF Trust's Legal Provisions
+    Relating to IETF Documents
+    (http://trustee.ietf.org/license-info).
+    This version of this YANG module is part of RFC 6991; see
+    the RFC itself for full legal notices.";
+
+  revision 2013-07-15 {
+    description
+     "This revision adds the following new data types:
+      - ip-address-no-zone
+      - ipv4-address-no-zone
+      - ipv6-address-no-zone";
+    reference
+     "RFC 6991: Common YANG Data Types";
+  }
+
+  revision 2010-09-24 {
+    description
+     "Initial revision.";
+    reference
+     "RFC 6021: Common YANG Data Types";
+  }
+
+  /*** collection of types related to protocol fields ***/
+
+  typedef ip-version {
+    type enumeration {
+      enum unknown {
+        value "0";
+        description
+         "An unknown or unspecified version of the Internet
+          protocol.";
+      }
+      enum ipv4 {
+        value "1";
+        description
+         "The IPv4 protocol as defined in RFC 791.";
+      }
+      enum ipv6 {
+        value "2";
+        description
+         "The IPv6 protocol as defined in RFC 2460.";
+      }
+    }
+    description
+     "This value represents the version of the IP protocol.
+      In the value set and its semantics, this type is equivalent
+      to the InetVersion textual convention of the SMIv2.";
+    reference
+     "RFC  791: Internet Protocol
+      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
+      RFC 4001: Textual Conventions for Internet Network Addresses";
+  }
+
+  typedef dscp {
+    type uint8 {
+      range "0..63";
+    }
+    description
+     "The dscp type represents a Differentiated Services Code Point
+      that may be used for marking packets in a traffic stream.
+      In the value set and its semantics, this type is equivalent
+      to the Dscp textual convention of the SMIv2.";
+    reference
+     "RFC 3289: Management Information Base for the Differentiated
+                Services Architecture
+      RFC 2474: Definition of the Differentiated Services Field
+                (DS Field) in the IPv4 and IPv6 Headers
+      RFC 2780: IANA Allocation Guidelines For Values In
+                the Internet Protocol and Related Headers";
+  }
+
+  typedef ipv6-flow-label {
+    type uint32 {
+      range "0..1048575";
+    }
+    description
+     "The ipv6-flow-label type represents the flow identifier or Flow
+      Label in an IPv6 packet header that may be used to
+      discriminate traffic flows.
+      In the value set and its semantics, this type is equivalent
+      to the IPv6FlowLabel textual convention of the SMIv2.";
+    reference
+     "RFC 3595: Textual Conventions for IPv6 Flow Label
+      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
+  }
+
+  typedef port-number {
+    type uint16 {
+      range "0..65535";
+    }
+    description
+     "The port-number type represents a 16-bit port number of an
+      Internet transport-layer protocol such as UDP, TCP, DCCP, or
+      SCTP.  Port numbers are assigned by IANA.  A current list of
+      all assignments is available from <http://www.iana.org/>.
+      Note that the port number value zero is reserved by IANA.  In
+      situations where the value zero does not make sense, it can
+      be excluded by subtyping the port-number type.
+      In the value set and its semantics, this type is equivalent
+      to the InetPortNumber textual convention of the SMIv2.";
+    reference
+     "RFC  768: User Datagram Protocol
+      RFC  793: Transmission Control Protocol
+      RFC 4960: Stream Control Transmission Protocol
+      RFC 4340: Datagram Congestion Control Protocol (DCCP)
+      RFC 4001: Textual Conventions for Internet Network Addresses";
+  }
+
+  /*** collection of types related to autonomous systems ***/
+
+  typedef as-number {
+    type uint32;
+    description
+     "The as-number type represents autonomous system numbers
+      which identify an Autonomous System (AS).  An AS is a set
+      of routers under a single technical administration, using
+      an interior gateway protocol and common metrics to route
+      packets within the AS, and using an exterior gateway
+      protocol to route packets to other ASes.  IANA maintains
+      the AS number space and has delegated large parts to the
+      regional registries.
+      Autonomous system numbers were originally limited to 16
+      bits.  BGP extensions have enlarged the autonomous system
+      number space to 32 bits.  This type therefore uses an uint32
+      base type without a range restriction in order to support
+      a larger autonomous system number space.
+      In the value set and its semantics, this type is equivalent
+      to the InetAutonomousSystemNumber textual convention of
+      the SMIv2.";
+    reference
+     "RFC 1930: Guidelines for creation, selection, and registration
+                of an Autonomous System (AS)
+      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
+      RFC 4001: Textual Conventions for Internet Network Addresses
+      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
+                Number Space";
+  }
+
+  /*** collection of types related to IP addresses and hostnames ***/
+
+  typedef ip-address {
+    type union {
+      type inet:ipv4-address;
+      type inet:ipv6-address;
+    }
+    description
+     "The ip-address type represents an IP address and is IP
+      version neutral.  The format of the textual representation
+      implies the IP version.  This type supports scoped addresses
+      by allowing zone identifiers in the address format.";
+    reference
+     "RFC 4007: IPv6 Scoped Address Architecture";
+  }
+
+  typedef ipv4-address {
+    type string {
+      pattern
+        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+      + '(%[\p{N}\p{L}]+)?';
+    }
+    description
+      "The ipv4-address type represents an IPv4 address in
+       dotted-quad notation.  The IPv4 address may include a zone
+       index, separated by a % sign.
+       The zone index is used to disambiguate identical address
+       values.  For link-local addresses, the zone index will
+       typically be the interface index number or the name of an
+       interface.  If the zone index is not present, the default
+       zone of the device will be used.
+       The canonical format for the zone index is the numerical
+       format";
+  }
+
+  typedef ipv6-address {
+    type string {
+      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+            + '(%[\p{N}\p{L}]+)?';
+      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+            + '(%.+)?';
+    }
+    description
+     "The ipv6-address type represents an IPv6 address in full,
+      mixed, shortened, and shortened-mixed notation.  The IPv6
+      address may include a zone index, separated by a % sign.
+      The zone index is used to disambiguate identical address
+      values.  For link-local addresses, the zone index will
+      typically be the interface index number or the name of an
+      interface.  If the zone index is not present, the default
+      zone of the device will be used.
+      The canonical format of IPv6 addresses uses the textual
+      representation defined in Section 4 of RFC 5952.  The
+      canonical format for the zone index is the numerical
+      format as described in Section 11.2 of RFC 4007.";
+    reference
+     "RFC 4291: IP Version 6 Addressing Architecture
+      RFC 4007: IPv6 Scoped Address Architecture
+      RFC 5952: A Recommendation for IPv6 Address Text
+                Representation";
+  }
+
+  typedef ip-address-no-zone {
+    type union {
+      type inet:ipv4-address-no-zone;
+      type inet:ipv6-address-no-zone;
+    }
+    description
+     "The ip-address-no-zone type represents an IP address and is
+      IP version neutral.  The format of the textual representation
+      implies the IP version.  This type does not support scoped
+      addresses since it does not allow zone identifiers in the
+      address format.";
+    reference
+     "RFC 4007: IPv6 Scoped Address Architecture";
+  }
+
+  typedef ipv4-address-no-zone {
+    type inet:ipv4-address {
+      pattern '[0-9\.]*';
+    }
+    description
+      "An IPv4 address without a zone index.  This type, derived from
+       ipv4-address, may be used in situations where the zone is
+       known from the context and hence no zone index is needed.";
+  }
+
+  typedef ipv6-address-no-zone {
+    type inet:ipv6-address {
+      pattern '[0-9a-fA-F:\.]*';
+    }
+    description
+      "An IPv6 address without a zone index.  This type, derived from
+       ipv6-address, may be used in situations where the zone is
+       known from the context and hence no zone index is needed.";
+    reference
+     "RFC 4291: IP Version 6 Addressing Architecture
+      RFC 4007: IPv6 Scoped Address Architecture
+      RFC 5952: A Recommendation for IPv6 Address Text
+                Representation";
+  }
+
+  typedef ip-prefix {
+    type union {
+      type inet:ipv4-prefix;
+      type inet:ipv6-prefix;
+    }
+    description
+     "The ip-prefix type represents an IP prefix and is IP
+      version neutral.  The format of the textual representations
+      implies the IP version.";
+  }
+
+  typedef ipv4-prefix {
+    type string {
+      pattern
+         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
+    }
+    description
+     "The ipv4-prefix type represents an IPv4 address prefix.
+      The prefix length is given by the number following the
+      slash character and must be less than or equal to 32.
+      A prefix length value of n corresponds to an IP address
+      mask that has n contiguous 1-bits from the most
+      significant bit (MSB) and all other bits set to 0.
+      The canonical format of an IPv4 prefix has all bits of
+      the IPv4 address set to zero that are not part of the
+      IPv4 prefix.";
+  }
+
+  typedef ipv6-prefix {
+    type string {
+      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
+      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+            + '(/.+)';
+    }
+
+
+    description
+     "The ipv6-prefix type represents an IPv6 address prefix.
+      The prefix length is given by the number following the
+      slash character and must be less than or equal to 128.
+      A prefix length value of n corresponds to an IP address
+      mask that has n contiguous 1-bits from the most
+      significant bit (MSB) and all other bits set to 0.
+      The IPv6 address should have all bits that do not belong
+      to the prefix set to zero.
+      The canonical format of an IPv6 prefix has all bits of
+      the IPv6 address set to zero that are not part of the
+      IPv6 prefix.  Furthermore, the IPv6 address is represented
+      as defined in Section 4 of RFC 5952.";
+    reference
+     "RFC 5952: A Recommendation for IPv6 Address Text
+                Representation";
+  }
+
+  /*** collection of domain name and URI types ***/
+
+  typedef domain-name {
+    type string {
+      pattern
+        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+      + '|\.';
+      length "1..253";
+    }
+    description
+     "The domain-name type represents a DNS domain name.  The
+      name SHOULD be fully qualified whenever possible.
+      Internet domain names are only loosely specified.  Section
+      3.5 of RFC 1034 recommends a syntax (modified in Section
+      2.1 of RFC 1123).  The pattern above is intended to allow
+      for current practice in domain name use, and some possible
+      future expansion.  It is designed to hold various types of
+      domain names, including names used for A or AAAA records
+      (host names) and other records, such as SRV records.  Note
+      that Internet host names have a stricter syntax (described
+      in RFC 952) than the DNS recommendations in RFCs 1034 and
+      1123, and that systems that want to store host names in
+      schema nodes using the domain-name type are recommended to
+      adhere to this stricter standard to ensure interoperability.
+      The encoding of DNS names in the DNS protocol is limited
+      to 255 characters.  Since the encoding consists of labels
+      prefixed by a length bytes and there is a trailing NULL
+      byte, only 253 characters can appear in the textual dotted
+      notation.
+      The description clause of schema nodes using the domain-name
+      type MUST describe when and how these names are resolved to
+      IP addresses.  Note that the resolution of a domain-name value
+      may require to query multiple DNS records (e.g., A for IPv4
+      and AAAA for IPv6).  The order of the resolution process and
+      which DNS record takes precedence can either be defined
+      explicitly or may depend on the configuration of the
+      resolver.
+      Domain-name values use the US-ASCII encoding.  Their canonical
+      format uses lowercase US-ASCII characters.  Internationalized
+      domain names MUST be A-labels as per RFC 5890.";
+    reference
+     "RFC  952: DoD Internet Host Table Specification
+      RFC 1034: Domain Names - Concepts and Facilities
+      RFC 1123: Requirements for Internet Hosts -- Application
+                and Support
+      RFC 2782: A DNS RR for specifying the location of services
+                (DNS SRV)
+      RFC 5890: Internationalized Domain Names in Applications
+                (IDNA): Definitions and Document Framework";
+  }
+
+  typedef host {
+    type union {
+      type inet:ip-address;
+      type inet:domain-name;
+    }
+    description
+     "The host type represents either an IP address or a DNS
+      domain name.";
+  }
+
+  typedef uri {
+    type string;
+    description
+     "The uri type represents a Uniform Resource Identifier
+      (URI) as defined by STD 66.
+      Objects using the uri type MUST be in US-ASCII encoding,
+      and MUST be normalized as described by RFC 3986 Sections
+      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
+      percent-encoding is removed, and all case-insensitive
+      characters are set to lowercase except for hexadecimal
+      digits, which are normalized to uppercase as described in
+      Section 6.2.2.1.
+      The purpose of this normalization is to help provide
+      unique URIs.  Note that this normalization is not
+      sufficient to provide uniqueness.  Two URIs that are
+      textually distinct after this normalization may still be
+      equivalent.
+      Objects using the uri type may restrict the schemes that
+      they permit.  For example, 'data:' and 'urn:' schemes
+      might not be appropriate.
+      A zero-length URI is not a valid URI.  This can be used to
+      express 'URI absent' where required.
+      In the value set and its semantics, this type is equivalent
+      to the Uri SMIv2 textual convention defined in RFC 5017.";
+    reference
+     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
+      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
+                Group: Uniform Resource Identifiers (URIs), URLs,
+                and Uniform Resource Names (URNs): Clarifications
+                and Recommendations
+      RFC 5017: MIB Textual Conventions for Uniform Resource
+                Identifiers (URIs)";
+  }
+
+}
\ No newline at end of file
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-routing-types@2017-10-13.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-routing-types@2017-10-13.yang
new file mode 100644 (file)
index 0000000..e33c4bc
--- /dev/null
@@ -0,0 +1,733 @@
+module ietf-routing-types {
+  namespace "urn:ietf:params:xml:ns:yang:ietf-routing-types";
+  prefix rt-types;
+
+  import ietf-yang-types {
+    prefix yang;
+  }
+  import ietf-inet-types {
+    prefix inet;
+  }
+
+  organization
+    "IETF RTGWG - Routing Area Working Group";
+  contact
+    "WG Web:   <http://tools.ietf.org/wg/rtgwg/>
+     WG List:  <mailto:rtgwg@ietf.org>
+     Editor:   Xufeng Liu
+               <mailto:Xufeng_Liu@jabail.com>
+               Yingzhen Qu
+               <mailto:yingzhen.qu@huawei.com>
+               Acee Lindem
+               <mailto:acee@cisco.com>
+               Christian Hopps
+               <mailto:chopps@chopps.org>
+               Lou Berger
+               <mailto:lberger@labn.com>";
+  description
+    "This module contains a collection of YANG data types
+     considered generally useful for routing protocols.
+     Copyright (c) 2017 IETF Trust and the persons
+     identified as authors of the code.  All rights reserved.
+     Redistribution and use in source and binary forms, with or
+     without modification, is permitted pursuant to, and subject
+     to the license terms contained in, the Simplified BSD License
+     set forth in Section 4.c of the IETF Trust's Legal Provisions
+     Relating to IETF Documents
+     (http://trustee.ietf.org/license-info).
+     This version of this YANG module is part of RFC XXXX; see
+     the RFC itself for full legal notices.";
+  reference "RFC XXXX";
+
+  revision 2017-10-13 {
+    description "Initial revision.";
+    reference "RFC TBD: Routing YANG Data Types";
+  }
+
+  /*** Identities related to MPLS/GMPLS ***/
+
+  identity mpls-label-special-purpose-value {
+    description
+      "Base identity for deriving identities describing
+       special-purpose Multiprotocol Label Switching (MPLS) label
+       values.";
+    reference
+      "RFC7274: Allocating and Retiring Special-Purpose MPLS
+       Labels.";
+  }
+
+  identity ipv4-explicit-null-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the IPv4 Explicit NULL Label.";
+    reference "RFC3032: MPLS Label Stack Encoding. Section 2.1.";
+  }
+
+  identity router-alert-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the Router Alert Label.";
+    reference "RFC3032: MPLS Label Stack Encoding. Section 2.1.";
+  }
+
+  identity ipv6-explicit-null-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the IPv6 Explicit NULL Label.";
+    reference "RFC3032: MPLS Label Stack Encoding. Section 2.1.";
+  }
+
+  identity implicit-null-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the Implicit NULL Label.";
+    reference "RFC3032: MPLS Label Stack Encoding. Section 2.1.";
+  }
+
+  identity entropy-label-indicator {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the Entropy Label Indicator.";
+    reference
+      "RFC6790: The Use of Entropy Labels in MPLS Forwarding.
+       Sections 3 and 10.1.";
+  }
+
+  identity gal-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the Generic Associated Channel
+       Label (GAL).";
+    reference
+      "RFC5586: MPLS Generic Associated Channel.
+       Sections 4 and 10.";
+  }
+
+  identity oam-alert-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the OAM Alert Label.";
+    reference
+      "RFC3429: Assignment of the 'OAM Alert Label' for
+       Multiprotocol Label Switching Architecture (MPLS)
+       Operation and Maintenance (OAM) Functions.
+       Sections 3 and 6.";
+  }
+
+  identity extension-label {
+    base mpls-label-special-purpose-value;
+    description
+      "This identity represents the Extension Label.";
+    reference
+      "RFC7274: Allocating and Retiring Special-Purpose MPLS
+       Labels.  Sections 3.1 and 5.";
+  }
+
+  /*** Collection of types related to routing ***/
+
+  typedef router-id {
+    type yang:dotted-quad;
+    description
+      "A 32-bit number in the dotted quad format assigned to each
+       router. This number uniquely identifies the router within
+       an Autonomous System.";
+  }
+
+  /*** Collection of types related to VPN ***/
+
+  typedef route-target {
+    type string {
+      pattern
+        '(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+      +     '6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|'
+      +     '42949672[0-8][0-9]|'
+      +     '4294967[01][0-9]{2}|429496[0-6][0-9]{3}|'
+      +     '42949[0-5][0-9]{4}|'
+      +     '4294[0-8][0-9]{5}|429[0-3][0-9]{6}|'
+      +     '42[0-8][0-9]{7}|4[01][0-9]{8}|'
+      +     '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|'
+      + '(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|'
+      +     '25[0-5])\.){3}([0-9]|[1-9][0-9]|'
+      +     '1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|'
+      +     '655[0-2][0-9]|'
+      +     '65[0-4][0-9]{2}|6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
+      + '(2:(429496729[0-5]|42949672[0-8][0-9]|'
+      +     '4294967[01][0-9]{2}|'
+      +     '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|'
+      +     '4294[0-8][0-9]{5}|'
+      +     '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|'
+      +     '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):'
+      +     '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+      +     '6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
+      + '(6(:[a-fA-F0-9]{2}){6})|'
+      + '(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):'
+      +     '[0-9a-fA-F]{1,12})';
+    }
+    description
+      "A route target is an 8-octet BGP extended community
+       initially identifying a set of sites in a BGP
+       VPN (RFC 4364). However, it has since taken on a more
+       general role in BGP route filtering.
+       A route target consists of two or three fields:
+       a 2-octet type field, an administrator field,
+       and, optionally, an assigned number field.
+       According to the data formats for type 0, 1, 2, and 6
+       defined in RFC4360, RFC5668, and RFC7432, the encoding
+       pattern is defined as:
+       0:2-octet-asn:4-octet-number
+       1:4-octet-ipv4addr:2-octet-number
+       2:4-octet-asn:2-octet-number.
+       6:6-octet-mac-address.
+       Additionally, a generic pattern is defined for future
+       route target types:
+       2-octet-other-hex-number:6-octet-hex-number
+       Some valid examples are: 0:100:100, 1:1.1.1.1:100,
+       2:1234567890:203 and 6:26:00:08:92:78:00";
+    reference
+      "RFC4360: BGP Extended Communities Attribute.
+       RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)
+       RFC5668: 4-Octet AS Specific BGP Extended Community.
+       RFC7432: BGP MPLS-Based Ethernet VPN";
+  }
+
+  typedef ipv6-route-target {
+    type string {
+      pattern
+          '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+          + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+          + '(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}'
+          + '(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])))'
+          + ':'
+          + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+          + '6[0-4][0-9]{3}|'
+          + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)';
+      pattern '((([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+          + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))'
+          + ':'
+          + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+          + '6[0-4][0-9]{3}|'
+          + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)';
+    }
+    description
+      "An IPv6 route target is a 20-octet BGP IPv6 address
+       specific extended community serving the same function
+       as a standard 8-octet route target only allowing for
+       an IPv6 address as the global administrator. The format
+       is <ipv6-address:2-octet-number>.
+       Some valid examples are: 2001:DB8::1:6544 and
+       2001:DB8::5eb1:791:6b37:17958";
+    reference
+      "RFC5701: IPv6 Address Specific BGP Extended Community
+                Attribute";
+  }
+
+  typedef route-target-type {
+    type enumeration {
+      enum "import" {
+        value 0;
+        description
+          "The route target applies to route import.";
+      }
+      enum "export" {
+        value 1;
+        description
+          "The route target applies to route export.";
+      }
+      enum "both" {
+        value 2;
+        description
+          "The route target applies to both route import and
+           route export.";
+      }
+    }
+    description
+      "Indicates the role a route target takes
+       in route filtering.";
+    reference "RFC4364: BGP/MPLS IP Virtual Private Networks
+               (VPNs).";
+  }
+
+  typedef route-distinguisher {
+    type string {
+      pattern
+        '(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+      +     '6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|'
+      +     '42949672[0-8][0-9]|'
+      +     '4294967[01][0-9]{2}|429496[0-6][0-9]{3}|'
+      +     '42949[0-5][0-9]{4}|'
+      +     '4294[0-8][0-9]{5}|429[0-3][0-9]{6}|'
+      +     '42[0-8][0-9]{7}|4[01][0-9]{8}|'
+      +     '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|'
+      + '(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|'
+      +     '25[0-5])\.){3}([0-9]|[1-9][0-9]|'
+      +     '1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|'
+      +     '655[0-2][0-9]|'
+      +     '65[0-4][0-9]{2}|6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
+      + '(2:(429496729[0-5]|42949672[0-8][0-9]|'
+      +     '4294967[01][0-9]{2}|'
+      +     '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|'
+      +     '4294[0-8][0-9]{5}|'
+      +     '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|'
+      +     '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):'
+      +     '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+      +     '6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
+      + '(6(:[a-fA-F0-9]{2}){6})|'
+      + '(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):'
+      +     '[0-9a-fA-F]{1,12})';
+    }
+    description
+      "A route distinguisher is an 8-octet value used to
+       distinguish routes from different BGP VPNs (RFC 4364).
+       As per RFC 4360, a route distinguisher will have the same
+       format as a route target and will consist of two or three
+       fields including a 2-octet type field, an administrator
+       field, and, optionally, an assigned number field.
+       According to the data formats for type 0, 1, 2, and 6
+       defined in RFC4360, RFC5668, and RFC7432, the encoding
+       pattern is defined as:
+       0:2-octet-asn:4-octet-number
+       1:4-octet-ipv4addr:2-octet-number
+       2:4-octet-asn:2-octet-number.
+       6:6-octet-mac-address.
+       Additionally, a generic pattern is defined for future
+       route discriminator types:
+       2-octet-other-hex-number:6-octet-hex-number
+       Some valid examples are: 0:100:100, 1:1.1.1.1:100,
+       2:1234567890:203 and 6:26:00:08:92:78:00";
+    reference
+      "RFC4360: BGP Extended Communities Attribute.
+       RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)
+       RFC5668: 4-Octet AS Specific BGP Extended Community.
+       RFC7432: BGP MPLS-Based Ethernet VPN";
+  }
+
+  typedef route-origin {
+    type string {
+      pattern
+        '(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+      +     '6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|'
+      +     '42949672[0-8][0-9]|'
+      +     '4294967[01][0-9]{2}|429496[0-6][0-9]{3}|'
+      +     '42949[0-5][0-9]{4}|'
+      +     '4294[0-8][0-9]{5}|429[0-3][0-9]{6}|'
+      +     '42[0-8][0-9]{7}|4[01][0-9]{8}|'
+      +     '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|'
+      + '(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|'
+      +     '25[0-5])\.){3}([0-9]|[1-9][0-9]|'
+      +     '1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|'
+      +     '655[0-2][0-9]|'
+      +     '65[0-4][0-9]{2}|6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
+      + '(2:(429496729[0-5]|42949672[0-8][0-9]|'
+      +     '4294967[01][0-9]{2}|'
+      +     '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|'
+      +     '4294[0-8][0-9]{5}|'
+      +     '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|'
+      +     '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):'
+      +     '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+      +     '6[0-4][0-9]{3}|'
+      +     '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
+      + '(6(:[a-fA-F0-9]{2}){6})|'
+      + '(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):'
+      +    '[0-9a-fA-F]{1,12})';
+    }
+    description
+      "A route origin is an 8-octet BGP extended community
+       identifying the set of sites where the BGP route
+       originated (RFC 4364). A route target consists of two
+       or three fields: a 2-octet type field, an administrator
+       field, and, optionally, an assigned number field.
+       According to the data formats for type 0, 1, 2, and 6
+       defined in RFC4360, RFC5668, and RFC7432, the encoding
+       pattern is defined as:
+       0:2-octet-asn:4-octet-number
+       1:4-octet-ipv4addr:2-octet-number
+       2:4-octet-asn:2-octet-number.
+       6:6-octet-mac-address.
+       Additionally, a generic pattern is defined for future
+       route origin types:
+       2-octet-other-hex-number:6-octet-hex-number
+       Some valid examples are: 0:100:100, 1:1.1.1.1:100,
+       2:1234567890:203 and 6:26:00:08:92:78:00";
+    reference
+      "RFC4360: BGP Extended Communities Attribute.
+       RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs)
+       RFC5668: 4-Octet AS Specific BGP Extended Community.
+       RFC7432: BGP MPLS-Based Ethernet VPN";
+  }
+
+  typedef ipv6-route-origin {
+    type string {
+      pattern
+          '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+          + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+          + '(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}'
+          + '(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])))'
+          + ':'
+          + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+          + '6[0-4][0-9]{3}|'
+          + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)';
+      pattern '((([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+          + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))'
+          + ':'
+          + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
+          + '6[0-4][0-9]{3}|'
+          + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0)';
+    }
+    description
+      "An IPv6 route origin is a 20-octet BGP IPv6 address
+       specific extended community serving the same function
+       as a standard 8-octet route only allowing for
+       an IPv6 address as the global administrator. The format
+       is <ipv6-address:2-octet-number>.
+       Some valid examples are: 2001:DB8::1:6544 and
+       2001:DB8::5eb1:791:6b37:17958";
+    reference
+      "RFC5701: IPv6 Address Specific BGP Extended Community
+                Attribute";
+  }
+
+  /*** Collection of types common to multicast ***/
+
+  typedef ipv4-multicast-group-address {
+    type inet:ipv4-address {
+      pattern '(2((2[4-9])|(3[0-9]))\.).*';
+    }
+    description
+      "This type represents an IPv4 multicast group address,
+       which is in the range from 224.0.0.0 to 239.255.255.255.";
+    reference "RFC1112: Host Extensions for IP Multicasting.";
+  }
+
+  typedef ipv6-multicast-group-address {
+    type inet:ipv6-address {
+      pattern
+        '(([fF]{2}[0-9a-fA-F]{2}):).*';
+    }
+    description
+      "This type represents an IPv6 multicast group address,
+       which is in the range of FF00::/8.";
+    reference
+      "RFC4291: IP Version 6 Addressing Architecture. Sec 2.7.
+       RFC7346: IPv6 Multicast Address Scopes.";
+  }
+
+  typedef ip-multicast-group-address {
+    type union {
+      type ipv4-multicast-group-address;
+      type ipv6-multicast-group-address;
+    }
+    description
+      "This type represents a version-neutral IP multicast group
+       address. The format of the textual representation implies
+       the IP version.";
+  }
+
+  typedef ipv4-multicast-source-address {
+    type union {
+      type enumeration {
+        enum "*" {
+          description
+            "Any source address.";
+        }
+      }
+      type inet:ipv4-address;
+    }
+    description
+      "Multicast source IPv4 address type.";
+  }
+
+  typedef ipv6-multicast-source-address {
+    type union {
+      type enumeration {
+        enum "*" {
+          description
+            "Any source address.";
+        }
+      }
+      type inet:ipv6-address;
+    }
+    description
+      "Multicast source IPv6 address type.";
+  }
+
+  /*** Collection of types common to protocols ***/
+
+  typedef bandwidth-ieee-float32 {
+    type string {
+      pattern
+        '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
+      + '1(\.([0-9a-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+      + '1[01][0-9]|0?[0-9]?[0-9])?)';
+    }
+    description
+      "Bandwidth in IEEE 754 floating point 32-bit binary format:
+       (-1)**(S) * 2**(Exponent-127) * (1 + Fraction),
+       where Exponent uses 8 bits, and Fraction uses 23 bits.
+       The units are octets per second.
+       The encoding format is the external hexadecimal-significant
+       character sequences specified in IEEE 754 and C99. The
+       format is restricted to be normalized, non-negative, and
+       non-fraction: 0x1.hhhhhhp{+}d, 0X1.HHHHHHP{+}D, or 0x0p0,
+       where 'h' and 'H' are hexadecimal digits and'd' and 'D' are
+       integers in the range of [0..127].
+       When six hexadecimal digits are used for 'hhhhhh' or
+       'HHHHHH', the least significant digit must be an even
+       number. 'x' and 'X' indicate hexadecimal; 'p' and 'P'
+       indicate power of two. Some examples are: 0x0p0, 0x1p10, and
+       0x1.abcde2p+20";
+    reference
+      "IEEE Std 754-2008: IEEE Standard for Floating-Point
+       Arithmetic.";
+  }
+
+  typedef link-access-type {
+    type enumeration {
+      enum "broadcast" {
+        description
+          "Specify broadcast multi-access network.";
+      }
+      enum "non-broadcast-multiaccess" {
+        description
+          "Specify Non-Broadcast Multi-Access (NBMA) network.";
+      }
+      enum "point-to-multipoint" {
+        description
+          "Specify point-to-multipoint network.";
+      }
+      enum "point-to-point" {
+        description
+          "Specify point-to-point network.";
+      }
+    }
+    description
+      "Link access type.";
+  }
+
+  typedef timer-multiplier {
+    type uint8;
+    description
+      "The number of timer value intervals that should be
+       interpreted as a failure.";
+  }
+
+  typedef timer-value-seconds16 {
+    type union {
+      type uint16 {
+        range "1..65535";
+      }
+      type enumeration {
+        enum "infinity" {
+          description
+            "The timer is set to infinity.";
+        }
+        enum "not-set" {
+          description
+            "The timer is not set.";
+        }
+      }
+    }
+    units "seconds";
+    description
+      "Timer value type, in seconds (16-bit range).";
+  }
+
+  typedef timer-value-seconds32 {
+    type union {
+      type uint32 {
+        range "1..4294967295";
+      }
+      type enumeration {
+        enum "infinity" {
+          description
+            "The timer is set to infinity.";
+        }
+        enum "not-set" {
+          description
+            "The timer is not set.";
+        }
+      }
+    }
+    units "seconds";
+    description
+      "Timer value type, in seconds (32-bit range).";
+  }
+  typedef timer-value-milliseconds {
+    type union {
+      type uint32 {
+        range "1..4294967295";
+      }
+      type enumeration {
+        enum "infinity" {
+          description
+            "The timer is set to infinity.";
+        }
+        enum "not-set" {
+          description
+            "The timer is not set.";
+        }
+      }
+    }
+    units "milliseconds";
+    description
+      "Timer value type, in milliseconds.";
+  }
+
+  typedef percentage {
+    type uint8 {
+      range "0..100";
+    }
+    description
+      "Integer indicating a percentage value";
+  }
+
+  typedef timeticks64 {
+    type uint64;
+    description
+      "This type is based on the timeticks type defined in
+       RFC 6991, but with 64-bit width.  It represents the time,
+       modulo 2^64, in hundredths of a second between two epochs.";
+    reference "RFC 6991 - Common YANG Data Types";
+  }
+
+  typedef uint24 {
+    type uint32 {
+      range "0 .. 16777215";
+    }
+    description
+      "24-bit unsigned integer";
+  }
+
+  /*** Collection of types related to MPLS/GMPLS ***/
+
+  typedef generalized-label {
+    type binary;
+    description
+      "Generalized label. Nodes sending and receiving the
+       Generalized Label are aware of the link-specific
+       label context and type.";
+    reference "RFC3471: Section 3.2";
+  }
+
+  typedef mpls-label-special-purpose {
+    type identityref {
+      base mpls-label-special-purpose-value;
+    }
+    description
+      "This type represents the special-purpose Multiprotocol Label
+       Switching (MPLS) label values.";
+    reference
+      "RFC3032: MPLS Label Stack Encoding.
+       RFC7274: Allocating and Retiring Special-Purpose MPLS
+       Labels.";
+  }
+
+  typedef mpls-label-general-use {
+    type uint32 {
+      range "16..1048575";
+    }
+    description
+      "The 20-bit label values in an MPLS label stack entry,
+       specified in RFC3032. This label value does not include
+       the encodings of Traffic Class and TTL (time to live).
+       The label range specified by this type is for general use,
+       with special-purpose MPLS label values excluded.";
+    reference "RFC3032: MPLS Label Stack Encoding.";
+  }
+
+  typedef mpls-label {
+    type union {
+      type mpls-label-special-purpose;
+      type mpls-label-general-use;
+    }
+    description
+      "The 20-bit label values in an MPLS label stack entry,
+       specified in RFC3032. This label value does not include
+       the encodings of Traffic Class and TTL (time to live).";
+    reference "RFC3032: MPLS Label Stack Encoding.";
+  }
+
+  /*** Groupings **/
+  grouping mpls-label-stack {
+    description
+      "This grouping specifies an MPLS label stack.  The label
+       stack is encoded as a list of label stack entries.  The
+       list key is an identifier which indicates relative
+       ordering of each entry, with the lowest value identifier
+       corresponding to the top of the label stack.";
+    container mpls-label-stack {
+      description
+        "Container for a list of MPLS label stack entries.";
+      list entry {
+        key "id";
+        description
+          "List of MPLS label stack entries.";
+        leaf id {
+          type uint8;
+          description
+            "Identifies the entry in a sequence of MPLS label
+             stack entries. An entry with a smaller identifier
+             value precedes an entry with a larger identifier
+             value in the label stack. The value of this ID has
+             no semantic meaning other than relative ordering
+             and referencing the entry.";
+        }
+        leaf label {
+          type rt-types:mpls-label;
+          description
+            "Label value.";
+        }
+        leaf ttl {
+          type uint8;
+          description
+            "Time to Live (TTL).";
+          reference "RFC3032: MPLS Label Stack Encoding.";
+        }
+        leaf traffic-class {
+          type uint8 {
+            range "0..7";
+          }
+          description
+            "Traffic Class (TC).";
+          reference
+            "RFC5462: Multiprotocol Label Switching (MPLS) Label
+             Stack Entry: 'EXP' Field Renamed to 'Traffic Class'
+             Field.";
+        }
+      }
+    }
+  }
+
+  grouping vpn-route-targets {
+    description
+      "A grouping that specifies Route Target import-export rules
+       used in the BGP enabled Virtual Private Networks (VPNs).";
+    reference
+      "RFC4364: BGP/MPLS IP Virtual Private Networks (VPNs).
+       RFC4664: Framework for Layer 2 Virtual Private Networks
+       (L2VPNs)";
+    list vpn-target {
+      key "route-target";
+      description
+        "List of Route Targets.";
+      leaf route-target {
+        type rt-types:route-target;
+        description
+          "Route Target value";
+      }
+      leaf route-target-type {
+        type rt-types:route-target-type;
+        mandatory true;
+        description
+          "Import/export type of the Route Target.";
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-subscribed-notifications.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-subscribed-notifications.yang
new file mode 100644 (file)
index 0000000..f7e01be
--- /dev/null
@@ -0,0 +1,21 @@
+module ietf-subscribed-notifications {
+    yang-version 1;
+    namespace "ietf:subscribed:notifications:huawei";
+    prefix "notif";
+
+    revision 2018-09-08;
+
+    rpc establish-subscription {
+        input {
+            leaf encoding {
+                type string;
+            }
+        }
+
+        output {
+            leaf identifier {
+                type int16;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-te-types@2018-07-01.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-te-types@2018-07-01.yang
new file mode 100644 (file)
index 0000000..7a50210
--- /dev/null
@@ -0,0 +1,2457 @@
+module ietf-te-types {
+
+  namespace "urn:ietf:params:xml:ns:yang:ietf-te-types";
+
+  /* Replace with IANA when assigned */
+  prefix "te-types";
+
+  import ietf-inet-types {
+    prefix inet;
+  }
+
+  import ietf-yang-types {
+    prefix "yang";
+  }
+
+  import ietf-routing-types {
+    prefix "rt-types";
+  }
+
+  organization
+    "IETF Traffic Engineering Architecture and Signaling (TEAS)
+     Working Group";
+
+  contact
+    "WG Web:   <http://tools.ietf.org/wg/teas/>
+     WG List:  <mailto:teas@ietf.org>
+     WG Chair: Lou Berger
+               <mailto:lberger@labn.net>
+     WG Chair: Vishnu Pavan Beeram
+               <mailto:vbeeram@juniper.net>
+     Editor:   Tarek Saad
+               <mailto:tsaad@cisco.com>
+     Editor:   Rakesh Gandhi
+               <mailto:rgandhi@cisco.com>
+     Editor:   Vishnu Pavan Beeram
+               <mailto:vbeeram@juniper.net>
+     Editor:   Himanshu Shah
+               <mailto:hshah@ciena.com>
+     Editor:   Xufeng Liu
+               <mailto:xufeng.liu@ericsson.com>
+     Editor:   Igor Bryskin
+               <mailto:Igor.Bryskin@huawei.com>";
+
+  description
+    "This module contains a collection of generally
+    useful TE specific YANG data type defintions.";
+
+  revision "2018-07-01" {
+    description "Latest revision of TE types";
+    reference "RFC3209";
+  }
+
+  /*
+   * Identities
+   */
+  identity association-type {
+    description "Base identity for tunnel association";
+    reference "RFC6780, RFC4872, RFC4873";
+  }
+  identity association-type-recovery {
+    base association-type;
+    description
+      "Association Type Recovery used to association LSPs of
+       same tunnel for recovery";
+    reference "RFC4872";
+  }
+  identity association-type-resource-sharing {
+    base association-type;
+    description
+      "Association Type Resource Sharing used to enable resource
+       sharing during make-before-break.";
+    reference "RFC4873";
+  }
+  identity association-type-double-sided-bidir {
+    base association-type;
+    description
+      "Association Type Double Sided bidirectional used to associate
+       two LSPs of two tunnels that are independently configured on
+       either endpoint";
+    reference "RFC7551";
+  }
+  identity association-type-single-sided-bidir {
+    base association-type;
+    description
+      "Association Type Single Sided bidirectional used to associate
+       two LSPs of two tunnels, where a tunnel is configured on one
+       side/endpoint, and the other tunnel is dynamically created on
+       the other endpoint";
+    reference "RFC7551";
+  }
+
+  identity objective-function-type {
+    description "Base objective function type";
+    reference "RFC4657";
+  }
+  identity of-minimize-cost-path {
+    base objective-function-type;
+    description
+        "Mimimuze cost of path objective function";
+  }
+  identity of-minimize-load-path {
+    base objective-function-type;
+    description
+        "Minimize the load on path(s) objective
+         function";
+  }
+  identity of-maximize-residual-bandwidth {
+    base objective-function-type;
+    description
+        "Maximize the residual bandwidth objective
+         function";
+  }
+  identity of-minimize-agg-bandwidth-consumption {
+    base objective-function-type;
+    description
+        "minimize the aggregate bandwidth consumption
+         objective function";
+  }
+  identity of-minimize-load-most-loaded-link {
+    base objective-function-type;
+    description
+        "Minimize the load on the most loaded link
+         objective function";
+  }
+  identity of-minimize-cost-path-set {
+    base objective-function-type;
+    description
+        "Minimize the cost on a path set objective
+         function";
+  }
+
+  identity path-computation-method {
+    description
+     "base identity for supported path computation
+      mechanisms";
+  }
+
+  identity path-locally-computed {
+    base path-computation-method;
+    description
+      "indicates a constrained-path LSP in which the
+      path is computed by the local LER";
+  }
+
+  identity path-externally-queried {
+    base path-computation-method;
+    description
+     "Constrained-path LSP in which the path is
+      obtained by querying an external source, such as a PCE server.
+      In the case that an LSP is defined to be externally queried, it
+      may also have associated explicit definitions (provided
+      to the external source to aid computation); and the path that is
+      returned by the external source is not required to provide a
+      wholly resolved path back to the originating system - that is to
+      say, some local computation may also be required";
+  }
+
+  identity path-explicitly-defined {
+    base path-computation-method;
+    description
+     "constrained-path LSP in which the path is
+      explicitly specified as a collection of strict or/and loose
+      hops";
+  }
+  /**
+   * Typedefs
+   */
+
+  typedef te-bandwidth {
+    type string {
+      pattern
+        '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
+      + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+      + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+'
+      + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
+      + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+      + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*';
+    }
+    description
+      "This is the generic bandwidth type that is a string containing
+       a list of numbers separated by commas, with each of these
+       number can be non-negative decimal, hex integer, or hex float:
+       (dec | hex | float)[*(','(dec | hex | float))]
+       For packet switching type, a float number is used, such as
+       0x1p10.
+       For OTN switching type, a list of integers can be used, such
+       as '0,2,3,1', indicating 2 odu0's and 1 odu3.
+       For DWDM, a list of pairs of slot number and width can be
+       used, such as '0, 2, 3, 3', indicating a frequency slot 0 with
+       slot width 2 and a frequency slot 3 with slot width 3.";
+  } // te-bandwidth
+
+  typedef te-ds-class {
+    type uint8 {
+      range "0..7";
+    }
+    description
+      "The Differentiatied Class-Type of traffic.";
+    reference "RFC4124: section-4.3.1";
+  }
+
+  typedef te-link-direction {
+    type enumeration {
+      enum INCOMING {
+        description
+          "explicit route represents an incoming link on a node";
+      }
+      enum OUTGOING {
+        description
+          "explicit route represents an outgoing link on a node";
+      }
+    }
+    description
+     "enumerated type for specifying direction of link on a node";
+  }
+
+  typedef te-label-direction {
+    type enumeration {
+      enum FORWARD {
+        description
+          "Label allocated for the forward LSP direction";
+      }
+      enum REVERSE {
+        description
+          "Label allocated for the reverse LSP direction";
+      }
+    }
+    description
+     "enumerated type for specifying the forward or reverse
+     label";
+  }
+
+  typedef te-hop-type {
+    type enumeration {
+      enum LOOSE {
+        description
+          "loose hop in an explicit path";
+      }
+      enum STRICT {
+        description
+          "strict hop in an explicit path";
+      }
+    }
+    description
+     "enumerated type for specifying loose or strict
+      paths";
+    reference "RFC3209: section-4.3.2";
+  }
+
+  identity LSP_METRIC_TYPE {
+    description
+      "Base identity for types of LSP metric specification";
+  }
+
+  identity LSP_METRIC_RELATIVE {
+    base LSP_METRIC_TYPE;
+    description
+      "The metric specified for the LSPs to which this identity refers
+      is specified as a relative value to the IGP metric cost to the
+      LSP's tail-end.";
+  }
+
+  identity LSP_METRIC_ABSOLUTE {
+    base LSP_METRIC_TYPE;
+    description
+      "The metric specified for the LSPs to which this identity refers
+      is specified as an absolute value";
+  }
+
+  identity LSP_METRIC_INHERITED {
+    base LSP_METRIC_TYPE;
+    description
+      "The metric for for the LSPs to which this identity refers is
+      not specified explicitly - but rather inherited from the IGP
+      cost directly";
+  }
+
+  identity tunnel-type {
+    description
+      "Base identity from which specific tunnel types are
+      derived.";
+  }
+
+  identity tunnel-p2p {
+    base tunnel-type;
+    description
+      "TE point-to-point tunnel type.";
+  }
+
+  identity tunnel-p2mp {
+    base tunnel-type;
+    description
+      "TE point-to-multipoint tunnel type.";
+    reference "RFC4875";
+  }
+
+  identity tunnel-action-type {
+    description
+      "Base identity from which specific tunnel action types
+       are derived.";
+  }
+
+  identity tunnel-action-resetup {
+    base tunnel-action-type;
+    description
+      "TE tunnel action resetup. Tears the
+      tunnel's current LSP (if any) and
+      attempts to re-establish a new LSP";
+  }
+
+  identity tunnel-action-reoptimize {
+    base tunnel-action-type;
+    description
+      "TE tunnel action reoptimize.
+       Reoptimizes placement of the tunnel LSP(s)";
+  }
+
+  identity tunnel-action-switchpath {
+    base tunnel-action-type;
+    description
+      "TE tunnel action reoptimize
+       Switches the tunnel's LSP to use the specified path";
+  }
+
+  identity te-action-result {
+    description
+      "Base identity from which specific TE action results
+       are derived.";
+  }
+
+  identity te-action-success {
+    base te-action-result;
+    description "TE action successul.";
+  }
+
+  identity te-action-fail {
+    base te-action-result;
+    description "TE action failed.";
+  }
+
+  identity tunnel-action-inprogress {
+    base te-action-result;
+    description "TE action inprogress.";
+  }
+
+  identity tunnel-admin-state-type {
+    description
+      "Base identity for TE tunnel admin states";
+  }
+
+  identity tunnel-admin-state-up {
+    base tunnel-admin-state-type;
+    description "Tunnel administratively state up";
+  }
+
+  identity tunnel-admin-state-down {
+    base tunnel-admin-state-type;
+    description "Tunnel administratively state down";
+  }
+
+  identity tunnel-state-type {
+    description
+      "Base identity for TE tunnel states";
+  }
+
+  identity tunnel-state-up {
+    base tunnel-state-type;
+    description "Tunnel state up";
+  }
+
+  identity tunnel-state-down {
+    base tunnel-state-type;
+    description "Tunnel state down";
+  }
+
+  identity lsp-state-type {
+    description
+      "Base identity for TE LSP states";
+  }
+
+  identity lsp-path-computing {
+    base lsp-state-type;
+    description
+      "State path compute in progress";
+  }
+
+  identity lsp-path-computation-ok {
+    base lsp-state-type;
+    description
+      "State path compute successful";
+  }
+
+  identity lsp-path-computatione-failed {
+    base lsp-state-type;
+    description
+      "State path compute failed";
+  }
+
+  identity lsp-state-setting-up {
+    base lsp-state-type;
+    description
+      "State setting up";
+  }
+
+  identity lsp-state-setup-ok {
+    base lsp-state-type;
+    description
+      "State setup successful";
+  }
+
+  identity lsp-state-setup-failed {
+    base lsp-state-type;
+    description
+      "State setup failed";
+  }
+
+  identity lsp-state-up {
+    base lsp-state-type;
+    description "State up";
+  }
+
+  identity lsp-state-tearing-down {
+    base lsp-state-type;
+    description
+      "State tearing down";
+  }
+
+  identity lsp-state-down {
+    base lsp-state-type;
+    description "State down";
+  }
+
+  identity path-invalidation-action-type {
+    description
+      "Base identity for TE path invalidation action types";
+  }
+
+  identity path-invalidation-action-drop-type {
+    base path-invalidation-action-type;
+    description
+      "TE path invalidation action drop";
+  }
+
+  identity path-invalidation-action-drop-tear {
+    base path-invalidation-action-type;
+    description
+      "TE path invalidation action tear";
+  }
+
+  identity lsp-restoration-type {
+    description
+      "Base identity from which LSP restoration types are
+       derived.";
+  }
+
+  identity lsp-restoration-restore-any {
+    base lsp-restoration-type;
+    description
+      "Restores when any of the LSPs is affected by a failure";
+  }
+
+  identity lsp-restoration-restore-all {
+    base lsp-restoration-type;
+    description
+      "Restores when all the tunnel LSPs are affected by failure";
+  }
+
+  identity restoration-scheme-type {
+    description
+      "Base identity for LSP restoration schemes";
+    reference "RFC4872";
+  }
+
+  identity restoration-scheme-preconfigured {
+    base restoration-scheme-type;
+    description
+      "Restoration LSP is preconfigured prior to the failure";
+  }
+
+  identity restoration-scheme-precomputed {
+    base restoration-scheme-type;
+    description
+      "Restoration LSP is precomputed prior to the failure";
+  }
+
+  identity restoration-scheme-presignaled {
+    base restoration-scheme-type;
+    description
+      "Restoration LSP is presignaledd prior to the failure";
+  }
+
+  identity lsp-protection-type {
+    description
+      "Base identity from which LSP protection types are
+      derived.";
+  }
+
+  identity lsp-protection-unprotected {
+    base lsp-protection-type;
+    description
+      "LSP protection 'Unprotected'";
+    reference "RFC4872";
+  }
+
+  identity lsp-protection-reroute-extra {
+    base lsp-protection-type;
+    description
+      "LSP protection '(Full) Rerouting'";
+    reference "RFC4872";
+  }
+
+  identity lsp-protection-reroute {
+    base lsp-protection-type;
+    description
+      "LSP protection 'Rerouting without Extra-Traffic'";
+    reference "RFC4872";
+  }
+
+  identity lsp-protection-1-for-n {
+    base lsp-protection-type;
+    description
+      "LSP protection '1:N Protection with Extra-Traffic'";
+    reference "RFC4872";
+  }
+
+  identity lsp-protection-unidir-1-to-1 {
+    base lsp-protection-type;
+    description
+      "LSP protection '1+1 Unidirectional Protection'";
+    reference "RFC4872";
+  }
+
+  identity lsp-protection-bidir-1-to-1 {
+    base lsp-protection-type;
+    description
+      "LSP protection '1+1 Bidirectional Protection'";
+    reference "RFC4872";
+  }
+
+  identity lsp-protection-extra-traffic {
+    base lsp-protection-type;
+    description
+      "LSP protection 'Extra-Traffic'";
+    reference
+      "ITU-T G.808, RFC 4427.";
+  }
+
+  identity lsp-protection-state {
+    description
+      "Base identity of protection states for reporting
+       purposes.";
+  }
+
+  identity normal {
+    base lsp-protection-state;
+    description "Normal state.";
+  }
+
+  identity signal-fail-of-protection {
+    base lsp-protection-state;
+    description
+        "There is a SF condition on the protection transport
+        entity which has higher priority than the FS command.";
+    reference
+        "ITU-T G.873.1, G.8031, G.8131";
+  }
+
+  identity lockout-of-protection {
+    base lsp-protection-state;
+    description
+        "A Loss of Protection (LoP) command is active.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity forced-switch {
+    base lsp-protection-state;
+    description
+        "A forced switch (FS) command is active.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity signal-fail {
+    base lsp-protection-state;
+    description
+        "There is a SF condition on either the working
+        or the protection path.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity signal-degrade {
+    base lsp-protection-state;
+    description
+        "There is an SD condition on either the working or the
+         protection path.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity manual-switch {
+    base lsp-protection-state;
+    description
+        "A manual switch (MS) command is active.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity wait-to-restore {
+    base lsp-protection-state;
+    description
+        "A wait time to restore (WTR) is running.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity do-not-revert {
+    base lsp-protection-state;
+    description
+        "A DNR condition is active because of a non-revertive
+         behavior.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity failure-of-protocol {
+    base lsp-protection-state;
+    description
+        "The protection is not working because of a failure of
+         protocol condition.";
+    reference
+        "ITU-T G.873.1, G.8031, G.8131";
+  }
+
+  identity protection-external-commands {
+    description
+      "Protection external commands for trouble shooting
+      purposes.";
+  }
+
+  identity action-freeze {
+    base protection-external-commands;
+    description
+      "A temporary configuration action initiated by an operator
+       command to prevent any switch action to be taken and as such
+       freezes the current state.";
+    reference
+      "ITU-T G.808, RFC 4427";
+  }
+
+  identity clear-freeze {
+    base protection-external-commands;
+    description
+      "An action that clears the active freeze state.";
+    reference
+      "ITU-T G.808, RFC 4427";
+  }
+
+  identity action-lockout-of-normal {
+    base protection-external-commands;
+    description
+      "A temporary configuration action initiated by an operator
+       command to ensure that the normal traffic is not allowed
+       to use the protection transport entity.";
+    reference
+      "ITU-T G.808, RFC 4427";
+  }
+
+  identity clear-lockout-of-normal {
+    base protection-external-commands;
+    description
+      "An action that clears the active lockout of normal state.";
+    reference
+      "ITU-T G.808, RFC 4427";
+  }
+
+  identity action-lockout-of-protection {
+    base protection-external-commands;
+    description
+      "A temporary configuration action initiated by an operator
+       command to ensure that the protection transport entity is
+       temporarily not available to transport a traffic signal
+       (either normal or extra traffic).";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity action-forced-switch {
+    base protection-external-commands;
+    description
+        "A switch action initiated by an operator command to swith
+         the extra traffic signal, the normal traffic signal, or the
+         null signal to the protection transport entity, unless an
+         equal or higher priority switch command is in effect.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity action-manual-switch {
+    base protection-external-commands;
+    description
+        "A switch action initiated by an operator command to swith
+         the extra traffic signal, the normal traffic signal #i, or
+         the null signal to the protection transport entity, unless
+         a fault condition exists on other transport entities or an
+         equal or higher priority switch command is in effect.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity action-exercise {
+    base protection-external-commands;
+    description
+        "An action to start testing if the APS communication is
+         operating correctly. It is lower priority than any other
+         state or command.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity clear {
+    base protection-external-commands;
+    description
+        "An action that clears the active near-end lockout of
+         protection, forced switch, manual switch, WTR state,
+         or exercise command.";
+    reference
+        "ITU-T G.808, RFC 4427";
+  }
+
+  identity switching-capabilities {
+    description
+      "Base identity for interface switching capabilities";
+    reference "RFC3471";
+  }
+
+  identity switching-psc1 {
+    base switching-capabilities;
+    description
+      "Packet-Switch Capable-1 (PSC-1)";
+    reference "RFC3471";
+  }
+
+  identity switching-evpl {
+    base switching-capabilities;
+    description
+      "Ethernet Virtual Private Line (EVPL)";
+  }
+
+  identity switching-l2sc {
+    base switching-capabilities;
+    description
+      "Layer-2 Switch Capable (L2SC)";
+    reference "RFC3471";
+  }
+
+  identity switching-tdm {
+    base switching-capabilities;
+    description
+      "Time-Division-Multiplex Capable (TDM)";
+    reference "RFC3471";
+  }
+
+  identity switching-otn {
+    base switching-capabilities;
+    description
+      "OTN-TDM capable";
+  }
+
+  identity switching-dcsc {
+    base switching-capabilities;
+    description
+      "Data Channel Switching Capable (DCSC)";
+  }
+
+  identity switching-lsc {
+    base switching-capabilities;
+    description
+      "Lambda-Switch Capable (LSC)";
+    reference "RFC3471";
+  }
+
+  identity switching-fsc {
+    base switching-capabilities;
+    description
+      "Fiber-Switch Capable (FSC)";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-types {
+    description
+      "Base identity for encoding types";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-packet {
+    base lsp-encoding-types;
+    description
+      "Packet LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-ethernet {
+    base lsp-encoding-types;
+    description
+      "Ethernet LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-pdh {
+    base lsp-encoding-types;
+    description
+      "ANSI/ETSI LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-sdh {
+    base lsp-encoding-types;
+    description
+      "SDH ITU-T G.707 / SONET ANSI T1.105 LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-digital-wrapper {
+    base lsp-encoding-types;
+    description
+      "Digital Wrapper LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-lambda {
+    base lsp-encoding-types;
+    description
+      "Lambda (photonic) LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-fiber {
+    base lsp-encoding-types;
+    description
+      "Fiber LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-fiber-channel {
+    base lsp-encoding-types;
+    description
+      "FiberChannel LSP encoding";
+    reference "RFC3471";
+  }
+
+  identity lsp-encoding-oduk {
+    base lsp-encoding-types;
+    description
+      "G.709 ODUk (Digital Path)LSP encoding";
+  }
+
+  identity lsp-encoding-optical-channel {
+    base lsp-encoding-types;
+    description
+      "Line (e.g., 8B/10B) LSP encoding";
+  }
+
+  identity lsp-encoding-line {
+    base lsp-encoding-types;
+    description
+      "Line (e.g., 8B/10B) LSP encoding";
+  }
+
+  identity path-signaling-type {
+    description
+      "base identity from which specific LSPs path
+       setup types are derived";
+  }
+
+  identity path-setup-static {
+    base path-signaling-type;
+    description
+      "Static LSP provisioning path setup";
+  }
+
+  identity path-setup-rsvp {
+    base path-signaling-type;
+    description
+      "RSVP-TE signaling path setup";
+    reference "RFC3209";
+  }
+
+  identity path-setup-sr {
+    base path-signaling-type;
+    description
+      "Segment-routing path setup";
+  }
+
+  identity path-scope-type {
+    description
+      "base identity from which specific path
+       scope types are derived";
+  }
+
+  identity path-scope-segment {
+    base path-scope-type;
+    description
+      "Path scope segment";
+  }
+
+  identity path-scope-end-to-end {
+    base path-scope-type;
+    description
+      "Path scope end to end";
+  }
+
+  /* TE basic features */
+  feature p2mp-te {
+    description
+      "Indicates support for P2MP-TE";
+    reference "RFC4875";
+  }
+
+  feature frr-te {
+    description
+      "Indicates support for TE FastReroute (FRR)";
+    reference "RFC4090";
+  }
+
+  feature extended-admin-groups {
+    description
+      "Indicates support for TE link extended admin
+      groups.";
+    reference "RFC7308";
+  }
+
+  feature named-path-affinities {
+    description
+      "Indicates support for named path affinities";
+  }
+
+  feature named-extended-admin-groups {
+    description
+      "Indicates support for named extended admin groups";
+  }
+
+  feature named-srlg-groups {
+    description
+      "Indicates support for named SRLG groups";
+  }
+
+  feature named-path-constraints {
+    description
+      "Indicates support for named path constraints";
+  }
+
+  feature path-optimization-metric {
+    description
+      "Indicates support for path optimization metric";
+  }
+
+  feature path-optimization-objective-function {
+    description
+      "Indicates support for path optimization objective function";
+  }
+
+  identity route-usage-type {
+    description
+      "Base identity for route usage";
+  }
+
+  identity route-include-ero {
+    base route-usage-type;
+    description
+      "Include ERO from route";
+  }
+
+  identity route-exclude-ero {
+    base route-usage-type;
+    description
+      "Exclude ERO from route";
+  }
+
+  identity route-exclude-srlg {
+    base route-usage-type;
+    description
+      "Exclude SRLG from route";
+  }
+
+  identity path-metric-type {
+    description
+      "Base identity for path metric type";
+  }
+
+  identity path-metric-te {
+    base path-metric-type;
+    description
+      "TE path metric";
+    reference "RFC3785";
+  }
+
+  identity path-metric-igp {
+    base path-metric-type;
+    description
+      "IGP path metric";
+    reference "RFC3785";
+  }
+
+  identity path-metric-hop {
+    base path-metric-type;
+    description
+      "Hop path metric";
+  }
+
+  identity path-metric-delay-average {
+    base path-metric-type;
+    description
+      "Unidirectional average link delay";
+    reference "RFC7471";
+  }
+
+  identity path-metric-residual-bandwidth {
+    base path-metric-type;
+    description
+      "Unidirectional Residual Bandwidth, which is defined to be
+       Maximum Bandwidth [RFC3630] minus the bandwidth currently
+       allocated to  LSPs.";
+    reference "RFC7471";
+  }
+  identity path-metric-optimize-includes {
+    base path-metric-type;
+    description
+      "A metric that optimizes the number of included resources
+       specified in a set";
+  }
+
+  identity path-metric-optimize-excludes {
+    base path-metric-type;
+    description
+      "A metric that optimizes the number of excluded resources
+       specified in a set";
+  }
+
+  identity path-tiebreaker-type {
+    description
+      "Base identity for path tie-breaker type";
+  }
+
+  identity path-tiebreaker-minfill {
+    base path-tiebreaker-type;
+    description
+      "Min-Fill LSP path placement";
+  }
+
+  identity path-tiebreaker-maxfill {
+    base path-tiebreaker-type;
+    description
+      "Max-Fill LSP path placement";
+  }
+
+  identity path-tiebreaker-randoom {
+    base path-tiebreaker-type;
+    description
+      "Random LSP path placement";
+  }
+
+  identity bidir-provisioning-mode {
+    description
+      "Base identity for bidirectional provisioning
+      mode.";
+    reference "RFC7551";
+  }
+
+  identity bidir-provisioning-single-sided {
+    base bidir-provisioning-mode;
+    description
+      "Single-sided bidirectional provioning mode";
+    reference "RFC7551";
+  }
+
+  identity bidir-provisioning-double-sided {
+    base bidir-provisioning-mode;
+    description
+      "Double-sided bidirectional provioning mode";
+    reference "RFC7551";
+  }
+
+  identity bidir-association-type {
+    description
+      "Base identity for bidirectional association type";
+    reference "RFC7551";
+  }
+
+  identity bidir-assoc-corouted {
+    base bidir-association-type;
+    description
+      "Co-routed bidirectional association type";
+    reference "RFC7551";
+  }
+
+  identity bidir-assoc-non-corouted {
+    base bidir-association-type;
+    description
+      "Non co-routed bidirectional association type";
+    reference "RFC7551";
+  }
+
+  identity resource-affinities-type {
+    description
+      "Base identity for resource affinities";
+    reference "RFC2702";
+  }
+
+  identity resource-aff-include-all {
+    base resource-affinities-type;
+    description
+      "The set of attribute filters associated with a
+      tunnel all of which must be present for a link
+      to be acceptable";
+    reference "RFC2702 and RFC3209";
+  }
+
+  identity resource-aff-include-any {
+    base resource-affinities-type;
+    description
+      "The set of attribute filters associated with a
+      tunnel any of which must be present for a link
+      to be acceptable";
+    reference "RFC2702 and RFC3209";
+  }
+
+  identity resource-aff-exclude-any {
+    base resource-affinities-type;
+    description
+      "The set of attribute filters associated with a
+      tunnel any of which renders a link unacceptable";
+    reference "RFC2702 and RFC3209";
+  }
+
+  typedef optimization-goal {
+    type enumeration {
+      enum minimize {
+        description "Pick lowest path metric goal";
+      }
+      enum maximize {
+        description "Pick highest path metric goal";
+      }
+      enum randomize {
+        description
+          "Pick a path at random from list of
+           equally favorable ones";
+      }
+    }
+    description "TE optimization goal";
+  }
+
+  identity te-optimization-criterion {
+    description
+      "Base identity for TE optimization criterion.";
+    reference
+      "RFC3272: Overview and Principles of Internet Traffic
+       Engineering.";
+  }
+
+  identity not-optimized {
+    base te-optimization-criterion;
+    description "Optimization is not applied.";
+  }
+
+  identity cost {
+    base te-optimization-criterion;
+    description "Optimized on cost.";
+  }
+  identity delay {
+    base te-optimization-criterion;
+    description "Optimized on delay.";
+  }
+
+  /*
+   * Typedefs
+   */
+
+  typedef percentage {
+    type uint8 {
+      range "0..100";
+    }
+    description
+      "Integer indicating a percentage value";
+  }
+
+  typedef performance-metric-normality {
+    type enumeration {
+      enum "unknown" {
+        value 0;
+        description
+          "Unknown.";
+      }
+      enum "normal" {
+        value 1;
+        description
+          "Normal.";
+      }
+      enum "abnormal" {
+        value 2;
+        description
+          "Abnormal. The anomalous bit is set.";
+      }
+    }
+    description
+      "Indicates whether a performance metric is normal, abnormal, or
+       unknown.";
+    reference
+      "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
+       RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
+       RFC7823: Performance-Based Path Selection for Explicitly
+       Routed Label Switched Paths (LSPs) Using TE Metric
+       Extensions";
+  }
+
+  typedef te-admin-status {
+    type enumeration {
+      enum up {
+        description
+          "Enabled.";
+      }
+      enum down {
+        description
+          "Disabled.";
+      }
+      enum testing {
+        description
+          "In some test mode.";
+      }
+      enum preparing-maintenance {
+        description
+          "Resource is disabled in the control plane to prepare for
+           graceful shutdown for maintenance purposes.";
+        reference
+          "RFC5817: Graceful Shutdown in MPLS and Generalized MPLS
+           Traffic Engineering Networks";
+      }
+      enum maintenance {
+        description
+          "Resource is disabled in the data plane for maintenance
+           purposes.";
+      }
+    }
+    description
+      "Defines a type representing the administrative status of
+       a TE resource.";
+  }
+
+  typedef te-global-id {
+    type uint32;
+    description
+      "An identifier to uniquely identify an operator, which can be
+       either a provider or a client.
+       The definition of this type is taken from RFC6370 and RFC5003.
+       This attribute type is used solely to provide a globally
+       unique context for TE topologies.";
+  }
+
+  typedef te-link-access-type {
+    type enumeration {
+      enum point-to-point {
+        description
+          "The link is point-to-point.";
+      }
+      enum multi-access {
+        description
+          "The link is multi-access, including broacast and NBMA.";
+      }
+    }
+    description
+      "Defines a type representing the access type of a TE link.";
+    reference
+      "RFC3630: Traffic Engineering (TE) Extensions to OSPF
+       Version 2.";
+  }
+
+  typedef te-node-id {
+    type yang:dotted-quad;
+    description
+      "An identifier for a node in a topology.
+       The identifier is represented as 32-bit unsigned integer in
+       the dotted-quad notation.
+       This attribute is mapped to Router ID in
+       RFC3630, RFC5329, RFC5305, and RFC6119.";
+  }
+
+  typedef te-oper-status {
+    type enumeration {
+      enum up {
+        description
+        "Operational up.";
+      }
+      enum down {
+        description
+        "Operational down.";
+      }
+      enum testing {
+        description
+        "In some test mode.";
+      }
+      enum unknown {
+        description
+        "Status cannot be determined for some reason.";
+      }
+      enum preparing-maintenance {
+        description
+          "Resource is disabled in the control plane to prepare for
+           graceful shutdown for maintenance purposes.";
+        reference
+          "RFC5817: Graceful Shutdown in MPLS and Generalized MPLS
+           Traffic Engineering Networks";
+      }
+      enum maintenance {
+        description
+          "Resource is disabled in the data plane for maintenance
+           purposes.";
+      }
+    }
+    description
+      "Defines a type representing the operational status of
+       a TE resource.";
+  }
+
+  typedef te-path-disjointness {
+    type bits {
+      bit node {
+        position 0;
+        description "Node disjoint.";
+      }
+      bit link {
+        position 1;
+        description "Link disjoint.";
+      }
+      bit srlg {
+        position 2;
+        description "SRLG (Shared Risk Link Group) disjoint.";
+      }
+    }
+    description
+      "Type of the resource disjointness for a TE tunnel path.";
+    reference
+      "RFC4872: RSVP-TE Extensions in Support of End-to-End
+       Generalized Multi-Protocol Label Switching (GMPLS)
+       Recovery";
+  } // te-path-disjointness
+
+  typedef te-recovery-status {
+    type enumeration {
+      enum normal {
+        description
+          "Both the recovery and working spans are fully
+           allocated and active, data traffic is being
+           transported over (or selected from) the working
+           span, and no trigger events are reported.";
+      }
+      enum recovery-started {
+        description
+          "The recovery action has been started, but not completed.";
+      }
+      enum recovery-succeeded {
+        description
+          "The recovery action has succeeded. The working span has
+           reported a failure/degrade condition and the user traffic
+           is being transported (or selected) on the recovery span.";
+      }
+      enum recovery-failed {
+        description
+          "The recovery action has failed.";
+      }
+      enum reversion-started {
+        description
+          "The reversion has started.";
+      }
+      enum reversion-failed {
+        description
+          "The reversion has failed.";
+      }
+      enum recovery-unavailable {
+        description
+          "The recovery is unavailable -- either as a result of an
+           operator Lockout command or a failure condition detected
+           on the recovery span.";
+      }
+      enum recovery-admin {
+        description
+          "The operator has issued a command switching the user
+           traffic to the recovery span.";
+      }
+      enum wait-to-restore {
+        description
+          "The recovery domain is recovering from a failuer/degrade
+           condition on the working span that is being controlled by
+           the Wait-to-Restore (WTR) timer.";
+      }
+    }
+    description
+      "Defines the status of a recovery action.";
+    reference
+      "RFC4427: Recovery (Protection and Restoration) Terminology
+       for Generalized Multi-Protocol Label Switching (GMPLS).
+       RFC6378: MPLS Transport Profile (MPLS-TP) Linear Protection";
+  }
+
+  typedef te-template-name {
+    type string {
+      pattern '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
+    }
+    description
+      "A type for the name of a TE node template or TE link
+       template.";
+  }
+
+  typedef te-topology-event-type {
+    type enumeration {
+      enum "add" {
+        value 0;
+        description
+          "A TE node or te-link has been added.";
+      }
+      enum "remove" {
+        value 1;
+        description
+          "A TE node or te-link has been removed.";
+      }
+      enum "update" {
+        value 2;
+        description
+          "A TE node or te-link has been updated.";
+      }
+    }
+    description "TE  Event type for notifications";
+  } // te-topology-event-type
+
+  typedef te-topology-id {
+    type string {
+      pattern
+        '([a-zA-Z0-9\-_.]+:)*'
+      + '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
+    }
+    description
+      "An identifier for a topology.
+       It is optional to have one or more prefixes at the begining,
+       separated by colons. The prefixes can be the network-types,
+       defined in ietf-network.yang, to help user to understand the
+       topology better before further inquiry.";
+  }
+
+  typedef te-tp-id {
+    type union {
+      type uint32;          // Unnumbered
+      type inet:ip-address; // IPv4 or IPv6 address
+    }
+    description
+      "An identifier for a TE link endpoint on a node.
+       This attribute is mapped to local or remote link identifier in
+       RFC3630 and RFC5305.";
+  }
+  typedef admin-group {
+    type binary {
+      length 4;
+    }
+    description
+      "Administrative group/Resource class/Color.";
+    reference "RFC3630 and RFC5305";
+  }
+
+  typedef extended-admin-group {
+    type binary;
+    description
+      "Extended administrative group/Resource class/Color.";
+    reference "RFC7308";
+  }
+
+  typedef admin-groups {
+    type union {
+      type admin-group;
+      type extended-admin-group;
+    }
+    description "TE administrative group derived type";
+  }
+
+  typedef srlg {
+    type uint32;
+    description "SRLG type";
+    reference "RFC4203 and RFC5307";
+  }
+
+  identity path-computation-srlg-type {
+    description
+      "Base identity for SRLG path computation";
+  }
+
+  identity srlg-ignore {
+    base path-computation-srlg-type;
+    description
+      "Ignores SRLGs in path computation";
+  }
+
+  identity srlg-strict {
+    base path-computation-srlg-type;
+    description
+      "Include strict SRLG check in path computation";
+  }
+
+  identity srlg-preferred {
+    base path-computation-srlg-type;
+    description
+      "Include preferred SRLG check in path computation";
+  }
+
+  identity srlg-weighted {
+    base path-computation-srlg-type;
+    description
+      "Include weighted SRLG check in path computation";
+  }
+
+  typedef te-metric {
+    type uint32;
+    description
+      "TE link metric";
+    reference "RFC3785";
+  }
+
+  /**
+   * TE bandwidth groupings
+   **/
+  identity otn-rate-type {
+    description
+      "Base type to identify OTN bit rates of various information
+       structures.";
+    reference "RFC7139";
+  }
+  identity odu0 {
+    base otn-rate-type;
+    description
+        "ODU0 bit rate.";
+  }
+  identity odu1 {
+    base otn-rate-type;
+    description
+        "ODU1 bit rate.";
+  }
+  identity odu2 {
+    base otn-rate-type;
+    description
+        "ODU2 bit rate.";
+  }
+  identity odu3 {
+    base otn-rate-type;
+    description
+        "ODU3 bit rate.";
+  }
+  identity odu4 {
+    base otn-rate-type;
+    description
+        "ODU4 bit rate.";
+  }
+  identity odu2e {
+    base otn-rate-type;
+    description
+        "ODU2e bit rate.";
+  }
+  identity oduc {
+    base otn-rate-type;
+    description
+        "ODUCn bit rate.";
+  }
+  identity oduflex {
+    base otn-rate-type;
+    description
+        "ODUflex bit rate.";
+  }
+
+  identity wdm-spectrum-type {
+    description
+      "Base type to identify WDM spectrum type.";
+  }
+  identity cwdm {
+    base wdm-spectrum-type;
+    description "CWDM.";
+    reference "RFC6205";
+  }
+  identity dwdm {
+    base wdm-spectrum-type;
+    description "DWDM.";
+    reference "RFC6205";
+  }
+  identity flexible-grid {
+    base wdm-spectrum-type;
+    description "Flexible grid.";
+    reference "RFC6205";
+  }
+
+  grouping te-bandwidth {
+    description
+      "This grouping defines the generic TE bandwidth.
+       For some known data plane technologies, specific modeling
+       structures are specified. The string encoded te-bandwidth
+       type is used for un-specified technologies.
+       The modeling structure can be augmented later for other
+       technologies.";
+    container te-bandwidth {
+      description
+        "Container that specifies TE bandwidth.";
+      choice technology {
+        default generic;
+        description
+          "Data plane technology type.";
+        case generic {
+          leaf generic {
+            type te-bandwidth;
+            description
+              "Bandwidth specified in a generic format.";
+          }
+        }
+      }
+    }
+  }
+
+  /**
+   * TE label groupings
+   **/
+  grouping te-label {
+    description
+      "This grouping defines the generic TE label.
+       The modeling structure can be augmented for each technology.
+       For un-specified technologies, rt-types:generalized-label
+       is used.";
+    container te-label {
+      description
+        "Container that specifies TE label.";
+      choice technology {
+        default generic;
+        description
+          "Data plane technology type.";
+        case generic {
+          leaf generic {
+            type rt-types:generalized-label;
+            description
+              "TE label specified in a generic format.";
+          }
+        }
+      }
+      leaf direction {
+        type te-label-direction;
+        description "Label direction";
+      }
+    }
+  }
+  /**
+   * TE performance metric groupings
+   **/
+  grouping performance-metric-container {
+    description
+      "A container containing performance metric attributes.";
+    container performance-metric {
+      description
+        "Link performance information in real time.";
+      reference
+        "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
+         RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
+         RFC7823: Performance-Based Path Selection for Explicitly
+         Routed Label Switched Paths (LSPs) Using TE Metric
+         Extensions";
+      container measurement {
+        description
+          "Measured performance metric values. Static configuration
+           and manual overrides of these measurements are also
+           allowed.";
+        uses performance-metric-attributes;
+      }
+      container normality
+      {
+        description
+          "Performance metric normality values.";
+        uses performance-metric-normality-attributes;
+      }
+      uses performance-metric-throttle-container;
+    }
+  } // performance-metric-container
+
+  grouping te-topology-identifier {
+    description
+      "Augmentation for TE topology.";
+    container te-topology-identifier {
+      description "TE topology identifier container";
+      leaf provider-id {
+        type te-types:te-global-id;
+        description
+          "An identifier to uniquely identify a provider.";
+      }
+      leaf client-id {
+        type te-types:te-global-id;
+        description
+          "An identifier to uniquely identify a client.";
+      }
+      leaf topology-id {
+        type te-types:te-topology-id;
+        description
+          "It is presumed that a datastore will contain many
+           topologies. To distinguish between topologies it is
+           vital to have UNIQUE topology identifiers.";
+      }
+    }
+  }
+
+  grouping performance-metric-attributes {
+    description
+      "Link performance information in real time.";
+    reference
+      "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
+       RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
+       RFC7823: Performance-Based Path Selection for Explicitly
+       Routed Label Switched Paths (LSPs) Using TE Metric
+       Extensions";
+    leaf unidirectional-delay {
+      type uint32 {
+        range 0..16777215;
+      }
+      description "Delay or latency in micro seconds.";
+    }
+    leaf unidirectional-min-delay {
+      type uint32 {
+        range 0..16777215;
+      }
+      description "Minimum delay or latency in micro seconds.";
+    }
+    leaf unidirectional-max-delay {
+      type uint32 {
+        range 0..16777215;
+      }
+      description "Maximum delay or latency in micro seconds.";
+    }
+    leaf unidirectional-delay-variation {
+      type uint32 {
+        range 0..16777215;
+      }
+      description "Delay variation in micro seconds.";
+    }
+    leaf unidirectional-packet-loss {
+      type decimal64 {
+        fraction-digits 6;
+        range "0 .. 50.331642";
+      }
+      description
+        "Packet loss as a percentage of the total traffic sent
+         over a configurable interval. The finest precision is
+         0.000003%.";
+    }
+    leaf unidirectional-residual-bandwidth {
+      type rt-types:bandwidth-ieee-float32;
+      description
+        "Residual bandwidth that subtracts tunnel
+         reservations from Maximum Bandwidth (or link capacity)
+         [RFC3630] and provides an aggregated remainder across QoS
+         classes.";
+    }
+    leaf unidirectional-available-bandwidth {
+      type rt-types:bandwidth-ieee-float32;
+      description
+        "Available bandwidth that is defined to be residual
+         bandwidth minus the measured bandwidth used for the
+         actual forwarding of non-RSVP-TE LSP packets.  For a
+         bundled link, available bandwidth is defined to be the
+         sum of the component link available bandwidths.";
+    }
+    leaf unidirectional-utilized-bandwidth {
+      type rt-types:bandwidth-ieee-float32;
+      description
+        "Bandwidth utilization that represents the actual
+         utilization of the link (i.e. as measured in the router).
+         For a bundled link, bandwidth utilization is defined to
+         be the sum of the component link bandwidth
+         utilizations.";
+    }
+  } // performance-metric-attributes
+
+  grouping performance-metric-normality-attributes {
+    description
+      "Link performance metric normality attributes.";
+    reference
+      "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
+       RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
+       RFC7823: Performance-Based Path Selection for Explicitly
+       Routed Label Switched Paths (LSPs) Using TE Metric
+       Extensions";
+    leaf unidirectional-delay {
+      type te-types:performance-metric-normality;
+      description "Delay normality.";
+    }
+    leaf unidirectional-min-delay {
+      type te-types:performance-metric-normality;
+      description "Minimum delay or latency normality.";
+    }
+    leaf unidirectional-max-delay {
+      type te-types:performance-metric-normality;
+      description "Maximum delay or latency normality.";
+    }
+    leaf unidirectional-delay-variation {
+      type te-types:performance-metric-normality;
+      description "Delay variation normality.";
+    }
+    leaf unidirectional-packet-loss {
+      type te-types:performance-metric-normality;
+      description "Packet loss normality.";
+    }
+    leaf unidirectional-residual-bandwidth {
+      type te-types:performance-metric-normality;
+      description "Residual bandwidth normality.";
+    }
+    leaf unidirectional-available-bandwidth {
+      type te-types:performance-metric-normality;
+      description "Available bandwidth normality.";
+    }
+    leaf unidirectional-utilized-bandwidth {
+      type te-types:performance-metric-normality;
+      description "Bandwidth utilization normality.";
+    }
+  } // performance-metric-normality-attributes
+
+  grouping performance-metric-throttle-container {
+    description
+      "A container controlling performance metric throttle.";
+    container throttle {
+      must "suppression-interval >= measure-interval" {
+        error-message
+          "suppression-interval cannot be less then
+           measure-interval.";
+        description
+          "Constraint on suppression-interval and
+           measure-interval.";
+      }
+      description
+        "Link performance information in real time.";
+      reference
+        "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
+         RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
+         RFC7823: Performance-Based Path Selection for Explicitly
+         Routed Label Switched Paths (LSPs) Using TE Metric
+         Extensions";
+      leaf unidirectional-delay-offset {
+        type uint32 {
+          range 0..16777215;
+        }
+        description
+          "Offset value to be added to the measured delay value.";
+      }
+      leaf measure-interval {
+        type uint32;
+        default 30;
+        description
+          "Interval in seconds to measure the extended metric
+           values.";
+      }
+      leaf advertisement-interval {
+        type uint32;
+        description
+          "Interval in seconds to advertise the extended metric
+           values.";
+      }
+      leaf suppression-interval {
+        type uint32 {
+          range "1 .. max";
+        }
+        default 120;
+        description
+          "Interval in seconds to suppress advertising the extended
+           metric values.";
+      }
+      container threshold-out {
+        uses performance-metric-attributes;
+        description
+          "If the measured parameter falls outside an upper bound
+           for all but the min delay metric (or lower bound for
+           min-delay metric only) and the advertised value is not
+           already outside that bound, anomalous announcement will be
+           triggered.";
+      }
+      container threshold-in {
+        uses performance-metric-attributes;
+        description
+          "If the measured parameter falls inside an upper bound
+           for all but the min delay metric (or lower bound for
+           min-delay metric only) and the advertised value is not
+           already inside that bound, normal (anomalous-flag cleared)
+           announcement will be triggered.";
+      }
+      container threshold-accelerated-advertisement {
+        description
+          "When the difference between the last advertised value and
+           current measured value exceed this threshold, anomalous
+           announcement will be triggered.";
+        uses performance-metric-attributes;
+      }
+    }
+  } // performance-metric-throttle-container
+
+  /**
+   * TE tunnel generic groupings
+   **/
+
+  /* Tunnel path selection parameters */
+  grouping explicit-route-hop {
+    description
+      "The explicit route subobject grouping";
+    leaf index {
+      type uint32;
+      description "ERO subobject index";
+    }
+    choice type {
+      description
+        "The explicit route subobject type";
+      case num-unnum-hop {
+        container num-unnum-hop {
+          leaf node-id {
+            type te-types:te-node-id;
+            description
+              "The identifier of a node in the TE topology.";
+          }
+          leaf link-tp-id {
+            type te-types:te-tp-id;
+              description
+                "TE link termination point identifier. The combination
+                 of TE link ID and the TE node ID is used to identify an
+                 unnumbered TE link.";
+          }
+          leaf hop-type {
+            type te-hop-type;
+            description "strict or loose hop";
+          }
+          leaf direction {
+            type te-link-direction;
+            description "Unnumbered Link ERO direction";
+          }
+          description
+            "Numbered and Unnumbered link/node explicit route
+             subobject";
+          reference
+            "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE
+             RFC3477: Signalling Unnumbered Links in RSVP-TE";
+        }
+      }
+      case as-number {
+        container as-number-hop {
+          leaf as-number {
+            type binary {
+              length 16;
+            }
+            description "AS number";
+          }
+          leaf hop-type {
+            type te-hop-type;
+              description
+                "strict or loose hop";
+          }
+          description
+            "Autonomous System explicit route subobject";
+        }
+      }
+      case label {
+        container label-hop {
+          description "Label hop type";
+          uses te-label;
+        }
+        description
+          "The Label ERO subobject";
+      }
+    }
+  }
+
+  grouping record-route-subobject_state {
+    description
+      "The record route subobject grouping";
+    leaf index {
+      type uint32;
+      description "RRO subobject index";
+    }
+    choice type {
+      description
+        "The record route subobject type";
+      case numbered {
+        leaf address {
+          type te-types:te-tp-id;
+          description
+            "Numbered link TE termination point address.";
+        }
+        leaf ip-flags {
+          type binary {
+            length 8;
+          }
+          description
+            "RRO IP address sub-object flags";
+          reference "RFC3209";
+        }
+      }
+      case unnumbered {
+        leaf node-id {
+          type te-types:te-node-id;
+          description
+            "The identifier of a node in the TE topology.";
+        }
+        leaf link-tp-id {
+          type te-types:te-tp-id;
+            description
+              "TE link termination point identifier, used
+               together with te-node-id to identify the
+               link termination point";
+        }
+        description
+          "Unnumbered link record route subobject";
+        reference
+          "RFC3477: Signalling Unnumbered Links in
+           RSVP-TE";
+      }
+      case label {
+        container label-hop {
+          description "Label hop type";
+          uses te-label;
+          leaf label-flags {
+            type binary {
+              length 8;
+            }
+            description
+              "Label sub-object flags";
+            reference "RFC3209";
+          }
+        }
+        description
+          "The Label RRO subobject";
+      }
+    }
+  }
+
+  grouping label-restriction-info {
+    description "Label set item info";
+    leaf restriction {
+      type enumeration {
+        enum inclusive {
+          description "The label or label range is inclusive.";
+        }
+        enum exclusive {
+          description "The label or label range is exclusive.";
+        }
+      }
+      description
+        "Whether the list item is inclusive or exclusive.";
+    }
+    leaf index {
+      type uint32;
+      description
+        "Then index of the label restriction list entry.";
+    }
+    container label-start {
+      description
+        "This is the starting label if a label range is specified.
+         This is the label value if a single label is specified,
+         in which case, attribute 'label-end' is not set.";
+      uses te-label;
+    }
+    container label-end {
+      description
+        "The ending label if a label range is specified;
+         This attribute is not set, If a single label is
+         specified.";
+      uses te-label;
+    }
+    leaf range-bitmap {
+      type binary;
+      description
+        "When there are gaps between label-start and label-end,
+         this attribute is used to specified the possitions
+         of the used labels.";
+    }
+  }
+
+  grouping label-set-info {
+    description
+      "Grouping for List of label restrictions specifying what labels
+       may or may not be used on a link connectivity.";
+    container label-restrictions {
+      description
+        "The label restrictions container";
+      list label-restriction {
+        key "index";
+        description
+          "The absence of label-set implies that all labels are
+           acceptable; otherwise only restricted labels are
+           available.";
+        reference
+          "RFC7579: General Network Element Constraint Encoding
+           for GMPLS-Controlled Networks";
+        uses label-restriction-info;
+      }
+    }
+  }
+
+  /*** End of TE tunnel groupings ***/
+  grouping optimizations_config {
+    description "Optimization metrics configuration grouping";
+    leaf metric-type {
+      type identityref {
+        base te-types:path-metric-type;
+      }
+      description "TE path metric type";
+    }
+    leaf weight {
+      type uint8;
+      description "TE path metric normalization weight";
+    }
+    container explicit-route-exclude-objects {
+      when "../metric-type = " +
+           "'te-types:path-metric-optimize-excludes'";
+      description
+        "Container for the exclude route object list";
+      uses path-route-exclude-objects;
+    }
+    container explicit-route-include-objects {
+      when "../metric-type = " +
+           "'te-types:path-metric-optimize-includes'";
+      description
+        "Container for the include route object list";
+      uses path-route-include-objects;
+    }
+  }
+
+  grouping common-constraints_config {
+    description
+      "Common constraints grouping that can be set on
+       a constraint set or directly on the tunnel";
+
+    uses te-types:te-bandwidth {
+      description
+        "A requested bandwidth to use for path computation";
+    }
+
+    leaf setup-priority {
+      type uint8 {
+        range "0..7";
+      }
+      description
+        "TE LSP requested setup priority";
+      reference "RFC3209";
+    }
+    leaf hold-priority {
+      type uint8 {
+        range "0..7";
+      }
+      description
+        "TE LSP requested hold priority";
+      reference "RFC3209";
+    }
+    leaf signaling-type {
+      type identityref {
+        base te-types:path-signaling-type;
+      }
+      description "TE tunnel path signaling type";
+    }
+  }
+
+  grouping tunnel-constraints_config {
+    description
+      "Tunnel constraints grouping that can be set on
+       a constraint set or directly on the tunnel";
+    uses te-types:te-topology-identifier;
+    uses te-types:common-constraints_config;
+  }
+
+  grouping path-metrics-bounds_config {
+    description "TE path metric bounds grouping";
+    leaf metric-type {
+      type identityref {
+        base te-types:path-metric-type;
+      }
+      description "TE path metric type";
+    }
+    leaf upper-bound {
+      type uint64;
+      description "Upper bound on end-to-end TE path metric";
+    }
+  }
+
+  grouping path-objective-function_config {
+    description "Optimization metrics configuration grouping";
+    leaf objective-function-type {
+      type identityref {
+        base te-types:objective-function-type;
+      }
+      description
+        "Objective function entry";
+    }
+  }
+
+  /**
+   * TE interface generic groupings
+   **/
+  grouping path-route-objects {
+    description
+      "List of EROs to be included or excluded when performing
+       the path computation.";
+    container explicit-route-objects {
+      description
+        "Container for the exclude route object list";
+      list route-object-exclude-always {
+        key index;
+        description
+          "List of explicit route objects to always exclude
+           from path computation";
+        uses te-types:explicit-route-hop;
+      }
+      list route-object-include-exclude {
+        key index;
+        description
+          "List of explicit route objects to include or
+           exclude in path computation";
+        leaf explicit-route-usage {
+          type identityref {
+            base te-types:route-usage-type;
+          }
+          description "Explicit-route usage.";
+        }
+        uses te-types:explicit-route-hop {
+          augment "type" {
+            case srlg {
+              container srlg {
+                description "SRLG container";
+                leaf srlg {
+                  type uint32;
+                  description "SRLG value";
+                }
+              }
+              description "An SRLG value to be included or excluded";
+            }
+            description
+              "Augmentation to generic explicit route for SRLG
+               exclusion";
+          }
+        }
+      }
+    }
+  }
+
+  grouping path-route-include-objects {
+    description
+      "List of EROs to be included when performing
+       the path computation.";
+    list route-object-include-object {
+      key index;
+      description
+        "List of explicit route objects to be included
+         in path computation";
+      uses te-types:explicit-route-hop;
+    }
+  }
+
+  grouping path-route-exclude-objects {
+    description
+      "List of EROs to be included when performing
+       the path computation.";
+    list route-object-exclude-object {
+      key index;
+      description
+        "List of explicit route objects to be excluded
+         in path computation";
+      uses te-types:explicit-route-hop {
+        augment "type" {
+          case srlg {
+            container srlg {
+              description "SRLG container";
+              leaf srlg {
+                type uint32;
+                description "SRLG value";
+              }
+            }
+            description "An SRLG value to be included or excluded";
+          }
+          description
+            "Augmentation to generic explicit route for SRLG exclusion";
+        }
+      }
+    }
+  }
+
+  grouping generic-path-metric-bounds {
+    description "TE path metric bounds grouping";
+    container path-metric-bounds {
+      description "TE path metric bounds container";
+      list path-metric-bound {
+        key metric-type;
+        description "List of TE path metric bounds";
+        uses path-metrics-bounds_config;
+      }
+    }
+  }
+
+  grouping generic-path-optimization {
+    description "TE generic path optimization grouping";
+
+    container optimizations {
+      description
+        "The objective function container that includes
+         attributes to impose when computing a TE path";
+
+      choice algorithm {
+        description "Optimizations algorithm.";
+        case metric {
+          if-feature path-optimization-metric;
+          /* Optimize by metric */
+          list optimization-metric {
+            key "metric-type";
+            description "TE path metric type";
+            uses optimizations_config;
+          }
+          /* Tiebreakers */
+          container tiebreakers {
+            description
+              "The list of tiebreaker criterion to apply
+               on an equally favored set of paths to pick best";
+            list tiebreaker {
+              key "tiebreaker-type";
+              description
+                "The list of tiebreaker criterion to apply
+                 on an equally favored set of paths to pick best";
+              leaf tiebreaker-type {
+                type identityref {
+                  base te-types:path-metric-type;
+                }
+                description "The objective function";
+              }
+            }
+          }
+        }
+        case objective-function {
+          if-feature path-optimization-objective-function;
+          /* Objective functions */
+          container objective-function {
+            description
+              "The objective function container that includes
+               attributes to impose when computing a TE path";
+            uses path-objective-function_config;
+          }
+        }
+      }
+    }
+  }
+
+  grouping generic-path-affinities {
+    description
+      "Path affinities grouping";
+    container path-affinities {
+      description
+        "Path affinities container";
+      list constraint {
+        key "usage";
+        description
+          "List of named affinity constraints";
+        leaf usage {
+          type identityref {
+            base resource-affinities-type;
+          }
+          description "Affinities usage";
+        }
+        leaf value {
+          type admin-groups;
+          description "Affinity value";
+        }
+      }
+    }
+  }
+
+  grouping generic-path-srlgs {
+    description
+      "Path SRLG grouping";
+    container path-srlgs {
+      description
+        "Path SRLG properties container";
+      leaf usage {
+        type identityref {
+          base te-types:route-exclude-srlg;
+        }
+        description "SRLG usage";
+      }
+      leaf-list values {
+        type srlg;
+        description "SRLG value";
+      }
+    }
+  }
+
+  grouping generic-path-disjointness {
+    description "Path disjointness grouping";
+    leaf disjointness {
+      type te-types:te-path-disjointness;
+      description
+        "The type of resource disjointness.
+         Under primary path, disjointness level applies to
+         all secondary LSPs. Under secondary, disjointness
+         level overrides the one under primary";
+    }
+  }
+
+  grouping common-path-constraints-attributes {
+    description
+      "Common path constraints configuration grouping";
+    uses common-constraints_config;
+    uses generic-path-metric-bounds;
+    uses generic-path-affinities;
+    uses generic-path-srlgs;
+  }
+
+  grouping generic-path-constraints {
+    description
+      "Global named path constraints configuration
+      grouping";
+    container path-constraints {
+      description "TE named path constraints container";
+      uses common-path-constraints-attributes;
+      uses generic-path-disjointness;
+    }
+  }
+
+  grouping generic-path-properties {
+    description "TE generic path properties grouping";
+    container path-properties {
+      config false;
+      description "The TE path properties";
+      list path-metric {
+        key metric-type;
+        description "TE path metric type";
+        leaf metric-type {
+          type identityref {
+            base te-types:path-metric-type;
+          }
+          description "TE path metric type";
+        }
+        leaf accumulative-value {
+          type uint64;
+          description "TE path metric accumulative value";
+        }
+      }
+      uses generic-path-affinities;
+      uses generic-path-srlgs;
+      container path-route-objects {
+        description
+          "Container for the list of route objects either returned by
+           the computation engine or actually used by an LSP";
+        list path-route-object {
+          key index;
+          description
+            "List of route objects either returned by the computation
+             engine or actually used by an LSP";
+          uses explicit-route-hop;
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-yang-types.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-yang-types.yang
new file mode 100644 (file)
index 0000000..5231f6a
--- /dev/null
@@ -0,0 +1,438 @@
+module ietf-yang-types {
+
+  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
+  prefix "yang";
+
+  organization
+   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
+
+  contact
+   "WG Web:   <http://tools.ietf.org/wg/netmod/>
+    WG List:  <mailto:netmod@ietf.org>
+    WG Chair: David Kessens
+              <mailto:david.kessens@nsn.com>
+    WG Chair: Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>
+    Editor:   Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>";
+
+  description
+   "This module contains a collection of generally useful derived
+    YANG data types.
+    Copyright (c) 2013 IETF Trust and the persons identified as
+    authors of the code.  All rights reserved.
+    Redistribution and use in source and binary forms, with or
+    without modification, is permitted pursuant to, and subject
+    to the license terms contained in, the Simplified BSD License
+    set forth in Section 4.c of the IETF Trust's Legal Provisions
+    Relating to IETF Documents
+    (http://trustee.ietf.org/license-info).
+    This version of this YANG module is part of RFC 6991; see
+    the RFC itself for full legal notices.";
+
+  revision 2013-07-15 {
+    description
+     "This revision adds the following new data types:
+      - yang-identifier
+      - hex-string
+      - uuid
+      - dotted-quad";
+    reference
+     "RFC 6991: Common YANG Data Types";
+  }
+
+  revision 2010-09-24 {
+    description
+     "Initial revision.";
+    reference
+     "RFC 6021: Common YANG Data Types";
+  }
+
+  /*** collection of counter and gauge types ***/
+
+  typedef counter32 {
+    type uint32;
+    description
+     "The counter32 type represents a non-negative integer
+      that monotonically increases until it reaches a
+      maximum value of 2^32-1 (4294967295 decimal), when it
+      wraps around and starts increasing again from zero.
+      Counters have no defined 'initial' value, and thus, a
+      single value of a counter has (in general) no information
+      content.  Discontinuities in the monotonically increasing
+      value normally occur at re-initialization of the
+      management system, and at other times as specified in the
+      description of a schema node using this type.  If such
+      other times can occur, for example, the creation of
+      a schema node of type counter32 at times other than
+      re-initialization, then a corresponding schema node
+      should be defined, with an appropriate type, to indicate
+      the last discontinuity.
+      The counter32 type should not be used for configuration
+      schema nodes.  A default statement SHOULD NOT be used in
+      combination with the type counter32.
+      In the value set and its semantics, this type is equivalent
+      to the Counter32 type of the SMIv2.";
+    reference
+     "RFC 2578: Structure of Management Information Version 2
+                (SMIv2)";
+  }
+
+  typedef zero-based-counter32 {
+    type yang:counter32;
+    default "0";
+    description
+     "The zero-based-counter32 type represents a counter32
+      that has the defined 'initial' value zero.
+      A schema node of this type will be set to zero (0) on creation
+      and will thereafter increase monotonically until it reaches
+      a maximum value of 2^32-1 (4294967295 decimal), when it
+      wraps around and starts increasing again from zero.
+      Provided that an application discovers a new schema node
+      of this type within the minimum time to wrap, it can use the
+      'initial' value as a delta.  It is important for a management
+      station to be aware of this minimum time and the actual time
+      between polls, and to discard data if the actual time is too
+      long or there is no defined minimum time.
+      In the value set and its semantics, this type is equivalent
+      to the ZeroBasedCounter32 textual convention of the SMIv2.";
+    reference
+      "RFC 4502: Remote Network Monitoring Management Information
+                 Base Version 2";
+  }
+
+  typedef counter64 {
+    type uint64;
+    description
+     "The counter64 type represents a non-negative integer
+      that monotonically increases until it reaches a
+      maximum value of 2^64-1 (18446744073709551615 decimal),
+      when it wraps around and starts increasing again from zero.
+      Counters have no defined 'initial' value, and thus, a
+      single value of a counter has (in general) no information
+      content.  Discontinuities in the monotonically increasing
+      value normally occur at re-initialization of the
+      management system, and at other times as specified in the
+      description of a schema node using this type.  If such
+      other times can occur, for example, the creation of
+      a schema node of type counter64 at times other than
+      re-initialization, then a corresponding schema node
+      should be defined, with an appropriate type, to indicate
+      the last discontinuity.
+      The counter64 type should not be used for configuration
+      schema nodes.  A default statement SHOULD NOT be used in
+      combination with the type counter64.
+      In the value set and its semantics, this type is equivalent
+      to the Counter64 type of the SMIv2.";
+    reference
+     "RFC 2578: Structure of Management Information Version 2
+                (SMIv2)";
+  }
+
+  typedef zero-based-counter64 {
+    type yang:counter64;
+    default "0";
+    description
+     "The zero-based-counter64 type represents a counter64 that
+      has the defined 'initial' value zero.
+      A schema node of this type will be set to zero (0) on creation
+      and will thereafter increase monotonically until it reaches
+      a maximum value of 2^64-1 (18446744073709551615 decimal),
+      when it wraps around and starts increasing again from zero.
+      Provided that an application discovers a new schema node
+      of this type within the minimum time to wrap, it can use the
+      'initial' value as a delta.  It is important for a management
+      station to be aware of this minimum time and the actual time
+      between polls, and to discard data if the actual time is too
+      long or there is no defined minimum time.
+      In the value set and its semantics, this type is equivalent
+      to the ZeroBasedCounter64 textual convention of the SMIv2.";
+    reference
+     "RFC 2856: Textual Conventions for Additional High Capacity
+                Data Types";
+  }
+
+  typedef gauge32 {
+    type uint32;
+    description
+     "The gauge32 type represents a non-negative integer, which
+      may increase or decrease, but shall never exceed a maximum
+      value, nor fall below a minimum value.  The maximum value
+      cannot be greater than 2^32-1 (4294967295 decimal), and
+      the minimum value cannot be smaller than 0.  The value of
+      a gauge32 has its maximum value whenever the information
+      being modeled is greater than or equal to its maximum
+      value, and has its minimum value whenever the information
+      being modeled is smaller than or equal to its minimum value.
+      If the information being modeled subsequently decreases
+      below (increases above) the maximum (minimum) value, the
+      gauge32 also decreases (increases).
+      In the value set and its semantics, this type is equivalent
+      to the Gauge32 type of the SMIv2.";
+    reference
+     "RFC 2578: Structure of Management Information Version 2
+                (SMIv2)";
+  }
+
+  typedef gauge64 {
+    type uint64;
+    description
+     "The gauge64 type represents a non-negative integer, which
+      may increase or decrease, but shall never exceed a maximum
+      value, nor fall below a minimum value.  The maximum value
+      cannot be greater than 2^64-1 (18446744073709551615), and
+      the minimum value cannot be smaller than 0.  The value of
+      a gauge64 has its maximum value whenever the information
+      being modeled is greater than or equal to its maximum
+      value, and has its minimum value whenever the information
+      being modeled is smaller than or equal to its minimum value.
+      If the information being modeled subsequently decreases
+      below (increases above) the maximum (minimum) value, the
+      gauge64 also decreases (increases).
+      In the value set and its semantics, this type is equivalent
+      to the CounterBasedGauge64 SMIv2 textual convention defined
+      in RFC 2856";
+    reference
+     "RFC 2856: Textual Conventions for Additional High Capacity
+                Data Types";
+  }
+
+  /*** collection of identifier-related types ***/
+
+  typedef object-identifier {
+    type string {
+      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+            + '(\.(0|([1-9]\d*)))*';
+    }
+    description
+     "The object-identifier type represents administratively
+      assigned names in a registration-hierarchical-name tree.
+      Values of this type are denoted as a sequence of numerical
+      non-negative sub-identifier values.  Each sub-identifier
+      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
+      are separated by single dots and without any intermediate
+      whitespace.
+      The ASN.1 standard restricts the value space of the first
+      sub-identifier to 0, 1, or 2.  Furthermore, the value space
+      of the second sub-identifier is restricted to the range
+      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
+      the ASN.1 standard requires that an object identifier
+      has always at least two sub-identifiers.  The pattern
+      captures these restrictions.
+      Although the number of sub-identifiers is not limited,
+      module designers should realize that there may be
+      implementations that stick with the SMIv2 limit of 128
+      sub-identifiers.
+      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
+      since it is not restricted to 128 sub-identifiers.  Hence,
+      this type SHOULD NOT be used to represent the SMIv2 OBJECT
+      IDENTIFIER type; the object-identifier-128 type SHOULD be
+      used instead.";
+    reference
+     "ISO9834-1: Information technology -- Open Systems
+      Interconnection -- Procedures for the operation of OSI
+      Registration Authorities: General procedures and top
+      arcs of the ASN.1 Object Identifier tree";
+  }
+
+  typedef object-identifier-128 {
+    type object-identifier {
+      pattern '\d*(\.\d*){1,127}';
+    }
+    description
+     "This type represents object-identifiers restricted to 128
+      sub-identifiers.
+      In the value set and its semantics, this type is equivalent
+      to the OBJECT IDENTIFIER type of the SMIv2.";
+    reference
+     "RFC 2578: Structure of Management Information Version 2
+                (SMIv2)";
+  }
+
+  typedef yang-identifier {
+    type string {
+      length "1..max";
+      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
+      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
+    }
+    description
+      "A YANG identifier string as defined by the 'identifier'
+       rule in Section 12 of RFC 6020.  An identifier must
+       start with an alphabetic character or an underscore
+       followed by an arbitrary sequence of alphabetic or
+       numeric characters, underscores, hyphens, or dots.
+       A YANG identifier MUST NOT start with any possible
+       combination of the lowercase or uppercase character
+       sequence 'xml'.";
+    reference
+      "RFC 6020: YANG - A Data Modeling Language for the Network
+                 Configuration Protocol (NETCONF)";
+  }
+
+  /*** collection of types related to date and time***/
+
+  typedef date-and-time {
+    type string {
+      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+            + '(Z|[\+\-]\d{2}:\d{2})';
+    }
+    description
+     "The date-and-time type is a profile of the ISO 8601
+      standard for representation of dates and times using the
+      Gregorian calendar.  The profile is defined by the
+      date-time production in Section 5.6 of RFC 3339.
+      The date-and-time type is compatible with the dateTime XML
+      schema type with the following notable exceptions:
+      (a) The date-and-time type does not allow negative years.
+      (b) The date-and-time time-offset -00:00 indicates an unknown
+          time zone (see RFC 3339) while -00:00 and +00:00 and Z
+          all represent the same time zone in dateTime.
+      (c) The canonical format (see below) of data-and-time values
+          differs from the canonical format used by the dateTime XML
+          schema type, which requires all times to be in UTC using
+          the time-offset 'Z'.
+      This type is not equivalent to the DateAndTime textual
+      convention of the SMIv2 since RFC 3339 uses a different
+      separator between full-date and full-time and provides
+      higher resolution of time-secfrac.
+      The canonical format for date-and-time values with a known time
+      zone uses a numeric time zone offset that is calculated using
+      the device's configured known offset to UTC time.  A change of
+      the device's offset to UTC time will cause date-and-time values
+      to change accordingly.  Such changes might happen periodically
+      in case a server follows automatically daylight saving time
+      (DST) time zone offset changes.  The canonical format for
+      date-and-time values with an unknown time zone (usually
+      referring to the notion of local time) uses the time-offset
+      -00:00.";
+    reference
+     "RFC 3339: Date and Time on the Internet: Timestamps
+      RFC 2579: Textual Conventions for SMIv2
+      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
+  }
+
+  typedef timeticks {
+    type uint32;
+    description
+     "The timeticks type represents a non-negative integer that
+      represents the time, modulo 2^32 (4294967296 decimal), in
+      hundredths of a second between two epochs.  When a schema
+      node is defined that uses this type, the description of
+      the schema node identifies both of the reference epochs.
+      In the value set and its semantics, this type is equivalent
+      to the TimeTicks type of the SMIv2.";
+    reference
+     "RFC 2578: Structure of Management Information Version 2
+                (SMIv2)";
+  }
+
+  typedef timestamp {
+    type yang:timeticks;
+    description
+     "The timestamp type represents the value of an associated
+      timeticks schema node at which a specific occurrence
+      happened.  The specific occurrence must be defined in the
+      description of any schema node defined using this type.  When
+      the specific occurrence occurred prior to the last time the
+      associated timeticks attribute was zero, then the timestamp
+      value is zero.  Note that this requires all timestamp values
+      to be reset to zero when the value of the associated timeticks
+      attribute reaches 497+ days and wraps around to zero.
+      The associated timeticks schema node must be specified
+      in the description of any schema node using this type.
+      In the value set and its semantics, this type is equivalent
+      to the TimeStamp textual convention of the SMIv2.";
+    reference
+     "RFC 2579: Textual Conventions for SMIv2";
+  }
+
+  /*** collection of generic address types ***/
+
+  typedef phys-address {
+    type string {
+      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
+    }
+
+
+
+
+    description
+     "Represents media- or physical-level addresses represented
+      as a sequence octets, each octet represented by two hexadecimal
+      numbers.  Octets are separated by colons.  The canonical
+      representation uses lowercase characters.
+      In the value set and its semantics, this type is equivalent
+      to the PhysAddress textual convention of the SMIv2.";
+    reference
+     "RFC 2579: Textual Conventions for SMIv2";
+  }
+
+  typedef mac-address {
+    type string {
+      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
+    }
+    description
+     "The mac-address type represents an IEEE 802 MAC address.
+      The canonical representation uses lowercase characters.
+      In the value set and its semantics, this type is equivalent
+      to the MacAddress textual convention of the SMIv2.";
+    reference
+     "IEEE 802: IEEE Standard for Local and Metropolitan Area
+                Networks: Overview and Architecture
+      RFC 2579: Textual Conventions for SMIv2";
+  }
+
+  /*** collection of XML-specific types ***/
+
+  typedef xpath1.0 {
+    type string;
+    description
+     "This type represents an XPATH 1.0 expression.
+      When a schema node is defined that uses this type, the
+      description of the schema node MUST specify the XPath
+      context in which the XPath expression is evaluated.";
+    reference
+     "XPATH: XML Path Language (XPath) Version 1.0";
+  }
+
+  /*** collection of string types ***/
+
+  typedef hex-string {
+    type string {
+      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
+    }
+    description
+     "A hexadecimal string with octets represented as hex digits
+      separated by colons.  The canonical representation uses
+      lowercase characters.";
+  }
+
+  typedef uuid {
+    type string {
+      pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+            + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
+    }
+    description
+     "A Universally Unique IDentifier in the string representation
+      defined in RFC 4122.  The canonical representation uses
+      lowercase characters.
+      The following is an example of a UUID in string representation:
+      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
+      ";
+    reference
+     "RFC 4122: A Universally Unique IDentifier (UUID) URN
+                Namespace";
+  }
+
+  typedef dotted-quad {
+    type string {
+      pattern
+        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
+    }
+    description
+      "An unsigned 32-bit number expressed in the dotted-quad
+       notation, i.e., four octets written as decimal numbers
+       and separated with the '.' (full stop) character.";
+  }
+}
\ No newline at end of file
index 5728399..1efbef1 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
+        <version>1.1.1-SNAPSHOT</version>
         <relativePath />
     </parent>
 
index 433b10f..a94e014 100644 (file)
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
         <relativePath />
        </parent>
 
diff --git a/pom.xml b/pom.xml
index a67ca00..4b59b4f 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.1.1-SNAPSHOT</version>
        </parent>
 
        <groupId>org.onap.sdnc.oam</groupId>
@@ -25,7 +25,9 @@
                <module>dgbuilder</module>
                <module>platform-logic</module>
                <module>configbackuprestore</module>
-               <module>SdncReports</module>
+               <!--  Temporarily comment out to work around Jenkins build issue
+                <module>SdncReports</module>
+               -->
        </modules>
 
        <scm>
index 34ccc6b..335c3b9 100644 (file)
@@ -5,7 +5,7 @@
 
 release_name=1
 sprint_number=4
-feature_revision=0
+feature_revision=1
 
 base_version=${release_name}.${sprint_number}.${feature_revision}