summaryrefslogtreecommitdiffstats
path: root/plugins/restapi-call-node/provider/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/restapi-call-node/provider/src/main/resources')
-rwxr-xr-xplugins/restapi-call-node/provider/src/main/resources/OSGI-INF/blueprint/restapi-call-node-blueprint.xml16
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/actokentemplate.json4
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/default-ueb-message.json11
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/get-multicast-data.json13
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json11
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json14
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/l3smsitetemplate.json162
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/l3smvpntemplate.json10
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/l3smvrftemplate.json14
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.json22
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.xml43
-rwxr-xr-xplugins/restapi-call-node/provider/src/main/resources/org/opendaylight/blueprint/restapi-call-node-blueprint.xml16
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/service-configuration-notification-northbound-template.json23
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/sptn-l3vpn-template.json159
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/update-vpe-data-with-apply-group.json32
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/vnf-information-update.json3
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/vpn-allocation-request.json15
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/vpn-information-update.json3
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/vrf-service-configuration-information-template.json16
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/vrf-update-vlan-status-template.json12
-rw-r--r--plugins/restapi-call-node/provider/src/main/resources/vrf-update.json56
21 files changed, 655 insertions, 0 deletions
diff --git a/plugins/restapi-call-node/provider/src/main/resources/OSGI-INF/blueprint/restapi-call-node-blueprint.xml b/plugins/restapi-call-node/provider/src/main/resources/OSGI-INF/blueprint/restapi-call-node-blueprint.xml
new file mode 100755
index 000000000..390bb0a35
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/OSGI-INF/blueprint/restapi-call-node-blueprint.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+ odl:use-default-for-reference-types="true">
+
+ <bean id="restapiCallNodeProvider" class="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" />
+
+
+
+ <service ref="restapiCallNodeProvider">
+ <interfaces>
+ <value>org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode</value>
+ </interfaces>
+ </service>
+
+</blueprint> \ No newline at end of file
diff --git a/plugins/restapi-call-node/provider/src/main/resources/actokentemplate.json b/plugins/restapi-call-node/provider/src/main/resources/actokentemplate.json
new file mode 100644
index 000000000..02e62400f
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/actokentemplate.json
@@ -0,0 +1,4 @@
+{
+ "userName": ${prop.sdncRestApi.thirdpartySdnc.user},
+ "password": ${prop.sdncRestApi.thirdpartySdnc.password}
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/default-ueb-message.json b/plugins/restapi-call-node/provider/src/main/resources/default-ueb-message.json
new file mode 100644
index 000000000..484d872f5
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/default-ueb-message.json
@@ -0,0 +1,11 @@
+{
+ "event":{
+ "header":{
+ "eventSource":"sdn-c"
+ },
+ "body":
+
+${rootVarName}
+
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/get-multicast-data.json b/plugins/restapi-call-node/provider/src/main/resources/get-multicast-data.json
new file mode 100644
index 000000000..3b9997f64
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/get-multicast-data.json
@@ -0,0 +1,13 @@
+{
+ "input": {
+ "sdnc-request-header": {
+ "svc-request-id": ${connection-details-notification-input.configuration-response-common.svc-request-id},
+ "svc-action": "updatemulticastvpn"
+ },
+ "service-information": {
+ "service-type": "AVPN",
+ "service-instance-id": ${tmp.ete-vpn-key}
+ }
+ }
+}
+
diff --git a/plugins/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json b/plugins/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json
new file mode 100644
index 000000000..e0896bbaa
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json
@@ -0,0 +1,11 @@
+{
+ "l2-dci-connect": {
+ "id": ${prop.dci-connects.id},
+ "name": ${prop.dci-connects.name},
+ "description": ${prop.dci-connects.description},
+ "network_id": ${prop.dci-connects.local_networks[0]},
+ "evpn_irts": ${prop.dci-connects.evpn_irts},
+ "evpn_erts": ${prop.dci-connects.evpn_erts},
+ "vni": ${prop.dci-connects.vni}
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json b/plugins/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json
new file mode 100644
index 000000000..41df794fd
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json
@@ -0,0 +1,14 @@
+{
+ "l3-dci-connect": {
+ "id": ${prop.dci-connects.id},
+ "name": ${prop.dci-connects.name},
+ "description": ${prop.dci-connects.description},
+ "router_id": ${prop.dci-connects.router_id},
+ "firewall_enable": false,
+ "local_networks": ${prop.dci-connects.local_networks},
+ "local_network_all": false,
+ "evpn_irts": ${prop.dci-connects.evpn_irts},
+ "evpn_erts": ${prop.dci-connects.evpn_erts},
+ "l3_vni": ${prop.dci-connects.vni}
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/l3smsitetemplate.json b/plugins/restapi-call-node/provider/src/main/resources/l3smsitetemplate.json
new file mode 100644
index 000000000..8f8156698
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/l3smsitetemplate.json
@@ -0,0 +1,162 @@
+{
+ "site":[
+ {
+ "site-id": ${prop.l3vpn.site1_name},
+ "vpn-policies": {
+ "vpn-policy": [
+ {
+ "vpn-policy-id": ${prop.l3vpn.vpn-policy1-id},
+ "entries": [
+ {
+ "id": ${prop.l3vpn.entry1-id},
+ "vpn": {
+ "vpn-id": ${prop.l3vpn.name},
+ "site-role": "huawei-ac-net-l3vpn-svc:any-to-any-role"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "site-network-accesses": {
+ "site-network-access": [
+ {
+ "site-network-access-id": ${prop.l3vpn.sna1_name},
+ "bearer": {
+ "appointed-access": {
+ "ne-id": ${prop.l3vpn.pe1_id},
+ "ltp-id": ${prop.l3vpn.ac1_id},
+ "vlan": {
+ "type": "huawei-ac-net-l3vpn-svc:vlan-dot1q",
+ "vlan-id": ${prop.l3vpn.sna1_svlan}
+ }
+ }
+ },
+ "ip-connection": {
+ "ipv4": {
+ "address-allocation-type": "huawei-ac-net-l3vpn-svc:static-address",
+ "addresses": {
+ "provider-address": ${prop.l3vpn.ac1-peer-ip},
+ "customer-address": ${prop.l3vpn.ac1-ip},
+ "mask": "24"
+ }
+ }
+ },
+ "service": {
+ "mtu": "1500"
+ },
+ "routing-protocols": {
+ "routing-protocol": [
+ {
+ "type": ${prop.l3vpn.ac1_protocol},
+ "static": {
+ "cascaded-lan-prefixes": [
+ {
+ "ipv4-lan-prefixes": [
+ {
+ "ip-prefix": ${prop.l3vpn.sna1-route.ip-prefix},
+ "next-hop": ${prop.l3vpn.sna1-route.next-hop}
+ }
+ ]
+ }
+ ]
+ }
+ "bgp": {
+ "peers": [
+ {
+ "peer-ip": ${prop.l3vpn.peer1-ip},
+ "remote-as": ${prop.l3vpn.ac1_protocol_bgp_as}
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "vpn-attachment": {
+ "vpn-policy-id": ${prop.l3vpn.name}
+ }
+ }
+ ]
+ },
+ {
+ "site-id": ${prop.l3vpn.site2_name},
+ "vpn-policies": {
+ "vpn-policy": [
+ {
+ "vpn-policy-id": ${prop.l3vpn.vpn-policy2-id},
+ "entries": [
+ {
+ "id": ${prop.l3vpn.entry2-id},
+ "vpn": {
+ "vpn-id": ${prop.l3vpn.name},
+ "site-role": "huawei-ac-net-l3vpn-svc:any-to-any-role"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "site-network-accesses": {
+ "site-network-access": [
+ {
+ "site-network-access-id": ${prop.l3vpn.sna2_name},
+ "bearer": {
+ "appointed-access": {
+ "ne-id": ${prop.l3vpn.pe2_id},
+ "ltp-id": ${prop.l3vpn.ac2_id},
+ "vlan": {
+ "type": "huawei-ac-net-l3vpn-svc:vlan-dot1q",
+ "vlan-id": ${prop.l3vpn.sna2_svlan}
+ }
+ }
+ },
+ "ip-connection": {
+ "ipv4": {
+ "address-allocation-type": "huawei-ac-net-l3vpn-svc:static-address",
+ "addresses": {
+ "provider-address": ${prop.l3vpn.ac2-peer-ip},
+ "customer-address": ${prop.l3vpn.ac2-ip},
+ "mask": "24"
+ }
+ }
+ },
+ "service": {
+ "mtu": "1500"
+ },
+ "routing-protocols": {
+ "routing-protocol": [
+ {
+ "type": ${prop.l3vpn.ac2_protocol},
+ "static": {
+ "cascaded-lan-prefixes": [
+ {
+ "ipv4-lan-prefixes": [
+ {
+ "ip-prefix": ${prop.l3vpn.sna2-route.ip-prefix},
+ "next-hop": ${prop.l3vpn.sna2-route.next-hop}
+ }
+ ]
+ }
+ ]
+ }
+ "bgp": {
+ "peers": [
+ {
+ "peer-ip": ${prop.l3vpn.peer2-ip},
+ "remote-as": ${prop.l3vpn.ac2_protocol_bgp_as}
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "vpn-attachment": {
+ "vpn-policy-id": ${prop.l3vpn.name}
+ }
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/plugins/restapi-call-node/provider/src/main/resources/l3smvpntemplate.json b/plugins/restapi-call-node/provider/src/main/resources/l3smvpntemplate.json
new file mode 100644
index 000000000..30f30a24f
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/l3smvpntemplate.json
@@ -0,0 +1,10 @@
+{
+ "vpn-service": [
+ {
+ "vpn-id": ${prop.l3vpn.name},
+ "customer-name": "huawei",
+ "vpn-service-topology": ${prop.l3vpn.topology},
+ "route-exchange-policy": "huawei-ac-net-l3vpn-svc:vpnv4-way"
+ }
+ ]
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/l3smvrftemplate.json b/plugins/restapi-call-node/provider/src/main/resources/l3smvrftemplate.json
new file mode 100644
index 000000000..52359a7fd
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/l3smvrftemplate.json
@@ -0,0 +1,14 @@
+{
+ "vrf-attribute": [
+ {
+ "vrf-attribute-id": ${prop.l3vpn.vrf1-id},
+ "ne-id": ${prop.l3vpn.pe1_id},
+ "vpn-policy-id": ${prop.l3vpn.vpn-policy1-id}
+ },
+ {
+ "vrf-attribute-id": ${prop.l3vpn.vrf2-id},
+ "ne-id": ${prop.l3vpn.pe2_id},
+ "vpn-policy-id": ${prop.l3vpn.vpn-policy2-id}
+ }
+ ]
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.json b/plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.json
new file mode 100644
index 000000000..f185c8f5d
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.json
@@ -0,0 +1,22 @@
+{
+"input":
+ {
+ "sdnc-request-header":{
+ "svc-request-id": ${service-topology-operation-input.sdnc-request-header.svc-request-id},
+ "svc-notification-url": ${service-topology-operation-input.sdnc-request-header.svc-notification-url}
+ },
+ "request-information":{
+ "request-id": ${service-topology-operation-input.request-information.request-id},
+ "request-action": ${service-topology-operation-input.request-information.request-action},
+ "request-sub-action": ${service-topology-operation-input.request-information.request-sub-action},
+ "source": ${service-topology-operation-input.request-information.source},
+ "notification-url": ${service-topology-operation-input.request-information.notification-url}
+ },
+ "service-information":{
+ "service-type": ${service-topology-operation-input.service-information.service-type},
+ "service-instance-id": ${service-topology-operation-input.service-information.service-instance-id},
+ "subscriber-name": ${service-topology-operation-input.service-information.subscriber-name},
+ "subscriber-global-id": ${service-topology-operation-input.service-information.subscriber-global-id}
+ }
+}
+
diff --git a/plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.xml b/plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.xml
new file mode 100644
index 000000000..aea0625c1
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/northbound-api-template.xml
@@ -0,0 +1,43 @@
+<!--
+ ============LICENSE_START=======================================================
+ openECOMP : SDN-C
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights
+ reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+ <input xmlns="${northbound-xmlNS}">
+ <${northbound-Container}>
+ <request-information>
+ <notification-url>${service-topology-operation-input.request-information.notification-url}</notification-url>
+ <request-action>${service-topology-operation-input.request-information.request-action}</request-action>
+ <request-id>${service-topology-operation-input.request-information.request-id}</request-id>
+ <request-sub-action>${service-topology-operation-input.request-information.request-sub-action}</request-sub-action>
+ <source>${service-topology-operation-input.request-information.source}</source>
+ </request-information>
+ <sdnc-request-header>
+ <svc-notification-url>${service-topology-operation-input.sdnc-request-header.svc-notification-url}</svc-notification-url>
+ <svc-request-id>${service-topology-operation-input.sdnc-request-header.svc-request-id}</svc-request-id>
+ </sdnc-request-header>
+ <service-information>
+ <service-instance-id>${service-topology-operation-input.service-information.service-instance-id}</service-instance-id>
+ <service-type>${service-topology-operation-input.service-information.service-type}</service-type>
+ <subscriber-global-id>${service-topology-operation-input.service-information.subscriber-global-id}</subscriber-global-id>
+ <subscriber-name>${service-topology-operation-input.service-information.subscriber-name}</subscriber-name>
+ </service-information>
+ ${'northbound-anyData}
+ </${northbound-Container}>
+ </input>
diff --git a/plugins/restapi-call-node/provider/src/main/resources/org/opendaylight/blueprint/restapi-call-node-blueprint.xml b/plugins/restapi-call-node/provider/src/main/resources/org/opendaylight/blueprint/restapi-call-node-blueprint.xml
new file mode 100755
index 000000000..390bb0a35
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/org/opendaylight/blueprint/restapi-call-node-blueprint.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+ odl:use-default-for-reference-types="true">
+
+ <bean id="restapiCallNodeProvider" class="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" />
+
+
+
+ <service ref="restapiCallNodeProvider">
+ <interfaces>
+ <value>org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode</value>
+ </interfaces>
+ </service>
+
+</blueprint> \ No newline at end of file
diff --git a/plugins/restapi-call-node/provider/src/main/resources/service-configuration-notification-northbound-template.json b/plugins/restapi-call-node/provider/src/main/resources/service-configuration-notification-northbound-template.json
new file mode 100644
index 000000000..c64661720
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/service-configuration-notification-northbound-template.json
@@ -0,0 +1,23 @@
+{
+ "input": {
+ "svc-request-id": ${service-configuration-notification-input.svc-request-id},
+ "response-code": ${service-configuration-notification-input.response-code},
+ "response-message": ${service-configuration-notification-input.response-message},
+ "ack-final-indicator": ${service-configuration-notification-input.ack-final-indicator},
+ "service-information": {
+ "service-type": ${service-data.service-information.service-type},
+ "service-instance-id": ${service-data.service-information.service-instance-id},
+ "subscriber-name": ${service-data.service-information.subscriber-name},
+ "subscriber-global-id": ${service-data.service-information.subscriber-global-id}
+ },
+ "response-parameters": [
+ ${repeat:service-configuration-notification-input.response-parameters_length:
+ {
+ "sequence-number": ${service-configuration-notification-input.response-parameters[${1}].sequence-number},
+ "tag-name": ${service-configuration-notification-input.response-parameters[${1}].tag-name},
+ "tag-value": ${service-configuration-notification-input.response-parameters[${1}].tag-value}
+ }
+ }
+ ]
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/sptn-l3vpn-template.json b/plugins/restapi-call-node/provider/src/main/resources/sptn-l3vpn-template.json
new file mode 100644
index 000000000..e850cb9a0
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/sptn-l3vpn-template.json
@@ -0,0 +1,159 @@
+{
+ "snc-l3vpn": {
+ "-xmlns": "urn:chinamobile:l3vpn",
+ "operate-status": "operate-up",
+ "traffic-class": "BE",
+ "acs": {
+ "l3-acs": [
+ {
+ "id": "0",
+ "ne-id": ${prop.l3vpn.pe1_id},
+ "ltp-id": ${prop.l3vpn.ac1_id},
+ "ip-addr": ${prop.l3vpn.ac1_ip.value},
+ "ip-mask": ${prop.l3vpn.ac1_ip.mask},
+ "access-type": "Sub-interface",
+ "vlan": ${prop.l3vpn.ac1_svlan},
+ "qos": {
+ "belonged-id": ${prop.l3vpn.ac1_id},
+ "tunnel-mode": "pipeline",
+ "cac-mode": "1",
+ "convg-mode": "0",
+ "traffic-adj-mode": "0",
+ "a2z-policing": "1",
+ "z2a-policing": "1",
+ "a2z-cir": "5000",
+ "z2a-cir": "5000",
+ "a2z-pir": "1000000",
+ "z2a-pir": "1000000",
+ "a2z-cbs": "1024",
+ "z2a-cbs": "1024",
+ "a2z-pbs": "1024",
+ "z2a-pbs": "1024",
+ "a2z-color-mode": "0",
+ "z2a-color-mode": "0",
+ "traffic-class": "CS7"
+ },
+ "protocol-list": {
+ "protocols": {
+ "protocol-type": "static",
+ "static-route-list": {
+ "static-routes": [
+ {
+ "id": "0",
+ "dest-ip": ${prop.l3vpn.ac1_peer_ip.value},
+ "dest-mask": ${prop.l3vpn.ac1_peer_ip.mask},
+ "route-type": "direct-route",
+ "out-inf": ${prop.l3vpn.ac1_id},
+ "route-weight": "3",
+ "route-status": "up"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "id": "1",
+ "ne-id": ${prop.l3vpn.pe2_id},
+ "ltp-id": ${prop.l3vpn.ac2_id},
+ "ip-addr": ${prop.l3vpn.ac2_ip.value},
+ "ip-mask": ${prop.l3vpn.ac2_ip.mask},
+ "access-type": "Sub-interface",
+ "vlan": ${prop.l3vpn.ac1_svlan},
+ "qos": {
+ "belonged-id": ${prop.l3vpn.ac2_id},
+ "tunnel-mode": "pipeline",
+ "cac-mode": "1",
+ "convg-mode": "0",
+ "traffic-adj-mode": "0",
+ "a2z-policing": "1",
+ "z2a-policing": "1",
+ "a2z-cir": "5000",
+ "z2a-cir": "5000",
+ "a2z-pir": "1000000",
+ "z2a-pir": "1000000",
+ "a2z-cbs": "1024",
+ "z2a-cbs": "1024",
+ "a2z-pbs": "1024",
+ "z2a-pbs": "1024",
+ "a2z-color-mode": "0",
+ "z2a-color-mode": "0",
+ "traffic-class": "CS7"
+ },
+ "protocol-list": {
+ "protocols": {
+ "protocol-type": "static",
+ "static-route-list": {
+ "static-routes": [
+ {
+ "id": "0",
+ "dest-ip": ${prop.l3vpn.ac2_peer_ip.value},
+ "dest-mask": ${prop.l3vpn.ac2_peer_ip.mask},
+ "route-type": "direct-route",
+ "out-inf": ${prop.l3vpn.ac2_id},
+ "route-weight": "4",
+ "route-status": "up"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ },
+ "user-label": ${prop.l3vpn.name},
+ "topo-mode": "any-to-any",
+ "admin-status": "admin-up",
+ "tunnel-create-policy": {
+ "user-label": "tunnel",
+ "tenant-id": "tunnel",
+ "direction": "bidirection",
+ "type": "1",
+ "admin-status": "admin-up",
+ "qos": {
+ "tunnel-mode": "pipeline",
+ "cac-mode": "1",
+ "convg-mode": "0",
+ "traffic-adj-mode": "0",
+ "a2z-policing": "0",
+ "a2z-cir": "500",
+ "a2z-pir": "1000000",
+ "a2z-cbs": "1024",
+ "a2z-pbs": "1024",
+ "a2z-color-mode": "0",
+ "z2a-policing": "0",
+ "z2a-cir": "500",
+ "z2a-pir": "1000000",
+ "z2a-cbs": "1024",
+ "z2a-pbs": "1024",
+ "z2a-color-mode": "0",
+ "traffic-class": "CS7"
+ },
+ "snc-switch": {
+ "layer-rate": "LSP",
+ "linear-protection-type": "path-protection-1-to-1",
+ "linear-protection-protocol": "APS",
+ "switch-mode": "double-end-switch",
+ "revertive-mode": "revertive",
+ "wtr": "60",
+ "hold-off-time": "0",
+ "reroute-revertive-mode": "revertive",
+ "reroute-wtr": "50"
+ },
+ "lsp-oam": {
+ "cc-allow": "true",
+ "cc-exp": "CS7",
+ "cc-interval": "3.3",
+ "lm-mode": "preactive",
+ "dm-mode": "preactive",
+ "meps": {
+ "mep": [
+ { "id": "1" },
+ { "id": "2" }
+ ]
+ }
+ }
+ }
+ }
+}
+
diff --git a/plugins/restapi-call-node/provider/src/main/resources/update-vpe-data-with-apply-group.json b/plugins/restapi-call-node/provider/src/main/resources/update-vpe-data-with-apply-group.json
new file mode 100644
index 000000000..979857521
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/update-vpe-data-with-apply-group.json
@@ -0,0 +1,32 @@
+{
+ "vrf-export-details": [
+ ${repeat:restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.VrfExport_length:
+ {
+ "vrf-export": ${restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.VrfExport[${1}]}
+ }
+ }
+ ],
+ "vrf-import-details": [
+ ${repeat:restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.VrfImport_length:
+ {
+ "vrf-import": ${restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.VrfImport[${1}]}
+ }
+ }
+ ],
+ "apply-group-template": [
+ ${repeat:restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.ApplyGroup_length:
+ {
+ "apply-group": ${restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.ApplyGroup[${1}].ApplyGroup}
+ }
+ }
+ ],
+ "community-list": [
+ ${repeat:restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.CommunityList_length:
+ {
+ "member": ${restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.CommunityList[${1}].member},
+ "name": ${restapi-result.ApplyGroupResponse.ApplyGroupResponseData[0].VrfDetails.CommunityList[${1}].name}
+ }
+ }
+ ]
+}
+
diff --git a/plugins/restapi-call-node/provider/src/main/resources/vnf-information-update.json b/plugins/restapi-call-node/provider/src/main/resources/vnf-information-update.json
new file mode 100644
index 000000000..d554624c7
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/vnf-information-update.json
@@ -0,0 +1,3 @@
+{
+"generic-vnf-service" :${vnf-service.generic-vnf-service}
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/vpn-allocation-request.json b/plugins/restapi-call-node/provider/src/main/resources/vpn-allocation-request.json
new file mode 100644
index 000000000..7a689bd5c
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/vpn-allocation-request.json
@@ -0,0 +1,15 @@
+{
+ "AllocateVpnResourcesRequest": {
+ "message-id": "${service-data.oper-status.modify-timestamp}",
+ "service-instance-id": "${service-data.service-information.service-instance-id}",
+ "vrf-request-type": {
+ "vpn-id": "${service-data.avpn-logicalchannel-information.vpn-id}",
+ "vpn-service": "${service-data.service-information.service-type}",
+ "e2e-vpn-id": "${service-data.avpn-logicalchannel-information.e2e-vpn-id}",
+ "vpe-name": "${service-data.avpn-logicalchannel-information.evc-endpoint-information.vpe-name}",
+ "asn": "${service-data.avpn-logicalchannel-information.carrier-asn}",
+ "route-group-name": "${service-data.avpn-logicalchannel-information.bgp-options.neighbor-address-information.route-group-name}",
+ "hub-or-spoke": "${service-data.avpn-logicalchannel-information.hub-or-spoke}"
+ }
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/vpn-information-update.json b/plugins/restapi-call-node/provider/src/main/resources/vpn-information-update.json
new file mode 100644
index 000000000..3ac16e291
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/vpn-information-update.json
@@ -0,0 +1,3 @@
+{
+"vpn-information" :${vpe-vpn-service.vpn-information}
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/vrf-service-configuration-information-template.json b/plugins/restapi-call-node/provider/src/main/resources/vrf-service-configuration-information-template.json
new file mode 100644
index 000000000..c6defb405
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/vrf-service-configuration-information-template.json
@@ -0,0 +1,16 @@
+{
+ "input": {
+
+ "e2e-vpn-key": ${service-data.avpn-logicalchannel-information.e2e-vpn-id},
+ "logical-channel-id": ${service-data.service-information.service-instance-id},
+ "vpe-name": ${service-data.avpn-logicalchannel-information.evc-endpoint-information.vpe-name},
+ "rpc-action": ${tmp.rpc-action},
+
+ "vpn-information": ${vpe-vpn-service.vpn-information},
+ "vrf-details": ${vpe-vpn-service.vpn-information.vrf-details},
+ "vrf-vlan-resources": {
+ "logical-channel-id": ${service-data.service-information.service-instance-id},
+ "logical-channel-status": ${tmp.logical-channel-status}
+ }
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/vrf-update-vlan-status-template.json b/plugins/restapi-call-node/provider/src/main/resources/vrf-update-vlan-status-template.json
new file mode 100644
index 000000000..f6381256f
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/vrf-update-vlan-status-template.json
@@ -0,0 +1,12 @@
+{
+ "input": {
+ "e2e-vpn-key": ${service-data.avpn-logicalchannel-information.e2e-vpn-id},
+ "logical-channel-id": ${service-data.service-information.service-instance-id},
+ "vpe-name": ${service-data.avpn-logicalchannel-information.evc-endpoint-information.vpe-name},
+ "rpc-action": ${tmp.rpc-action},
+ "vrf-vlan-resources": {
+ "logical-channel-id": ${service-data.service-information.service-instance-id},
+ "logical-channel-status": ${tmp.logical-channel-status}
+ }
+ }
+}
diff --git a/plugins/restapi-call-node/provider/src/main/resources/vrf-update.json b/plugins/restapi-call-node/provider/src/main/resources/vrf-update.json
new file mode 100644
index 000000000..cdaef4d82
--- /dev/null
+++ b/plugins/restapi-call-node/provider/src/main/resources/vrf-update.json
@@ -0,0 +1,56 @@
+{
+ "vpn-vame": ${allocate-vpn-resource-notification-input.vpn-data[0].vpn-name},
+ "vpn-id": ${allocate-vpn-resource-notification-input.vpn-data[0].vpn-id},
+ "vrf-details": [
+ ${repeat:allocate-vpn-resource-notification-input.vpn-data[0].vrf-information_length:
+ {
+ "vrf-export-details": [
+ ${repeat:allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].vrf-export-details_length:
+ {
+ "vrf-export": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].vrf-export-details[${2}].vrf-export}
+ }
+ }
+ ],
+ "vrf-name": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].vrf-name},
+ "vpe-name": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].vpe-name},
+ "vrf-import-details": [
+ ${repeat:allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].vrf-import-details_length:
+ {
+ "vrf-import": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].vrf-import-details[${2}].vrf-import}
+ }
+ }
+ ],
+ "apply-group-template": [
+ ${repeat:allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].apply-group-template_length:
+ {
+ "apply-group": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].apply-group-template[${2}].apply-group}
+ }
+ }
+ ],
+ "community-list": [
+ ${repeat:allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].community-list_length:
+ {
+ "member": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].community-list[${2}].name},
+ "name": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].community-list[${2}].member}
+ }
+ }
+ ],
+ "router-distinguisher": ${allocate-vpn-resource-notification-input.vpn-data[0].vrf-information[${1}].router-distinguisher}
+ }
+ }
+ ],
+ "spoke-routes": {
+ "route-target": ${allocate-vpn-resource-notification-input.vpn-data[0].spoke-route-target.route-target}
+ },
+
+ "route-target-details": [
+ ${repeat:allocate-vpn-resource-notification-input.vpn-data[0].route-target-details_length:
+ {
+ "route-target": ${allocate-vpn-resource-notification-input.vpn-data[0].route-target-details[${1}].route-target},
+ "route-target-type": ${allocate-vpn-resource-notification-input.vpn-data[0].route-target-details[${1}].route-target-type}
+ }
+ }
+ ],
+
+ "e2e-vpn-key": ${allocate-vpn-resource-notification-input.vpn-data[0].e2e-vpn-id}
+}