diff options
Diffstat (limited to 'plugins/restapi-call-node/provider/src/main/resources')
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} +} |