10-11-2021 01:57 PM
Hi,
I am creating a Service VPN feature template with VPN number as a variable. This feature is not supported in vManage GUI, but it works fine using the API.
I am creating feature template by making a call to POST /dataservice/template/feature/ with following payload:
"templateName": "vedge-service-vpn-template-1", "templateDescription": "Service VPN template for 1 vpn on vEdge devices", "templateType": "vpn-vedge", "deviceType": [ "vedge-cloud", "vedge-1000", "vedge-2000", "vedge-100", "vedge-100-B", "vedge-100-WM", "vedge-100-M", "vedge-5000", "vedge-ISR1100-4G", "vedge-ISR1100-4GLTE", "vedge-ISR1100-6G" ], "templateMinVersion": "15.0.0", "templateDefinition": { "vpn-id": { "vipObjectType": "object", "vipType": "variableName", "vipVariableName": "vpn_no_1" }, "name": { "vipObjectType": "object", "vipType": "ignore", "vipVariableName": "vpn_name" }, "ecmp-hash-key": { "layer4": { "vipObjectType": "object", "vipType": "ignore", "vipValue": "false", "vipVariableName": "vpn_layer4" } }, "tcp-optimization": { "vipObjectType": "node-only", "vipType": "ignore", "vipValue": "false", "vipVariableName": "vpn_tcp_optimization" }, "nat64-global": { "prefix": { "stateful": {} } }, "nat64": { "v4": { "pool": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "name" ] } } }, "route-import": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "protocol" ] }, "route-export": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "protocol" ] }, "host": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "hostname" ] }, "service": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "svc-type" ] }, "ip": { "gre-route": {}, "ipsec-route": {}, "service-route": {} }, "ipv6": {}, "omp": { "advertise": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "protocol" ] }, "ipv6-advertise": { "vipType": "ignore", "vipValue": [], "vipObjectType": "tree", "vipPrimaryKey": [ "protocol" ] } } }, "factoryDefault": false
The important part is as follows
"vpn-id": { "vipObjectType": "object", "vipType": "variableName", "vipVariableName": "vpn_no_1" }
When I add this template in a device template and deploy it on a device, I have to give values of variables, as follows
"/vpn_no_1/vpn-instance/vpn-id": "", "/vpn_no_1/vpn_if_name_Transport-Interface-Feature-Template-Dynamic-vEdges-1/interface/if-name": "", "/vpn_no_1/vpn_if_name_Transport-Interface-Feature-Template-Dynamic-vEdges-1/interface/nat": "", "/vpn_no_1/vpn_if_name_Transport-Interface-Feature-Template-Dynamic-vEdges-1/interface/tunnel-interface/color/value": ""
If I give these values, the device template is deployed successfully on the device.
My questions are:
- Is there something fundamentally wrong with the "variable vpn" approach? If not, why is it not supported by vMange UI (screenshot attached).
- Is it possible that the support for this feature is removed in newer version of vManage API (I am currently using vManage 20.5)
Looking for answers
Thanks in advance
10-11-2021 11:45 PM
@waqqas.jabbar i would post this question to the team at https://community.cisco.com/t5/sd-wan-and-cloud-networking/bd-p/discussions-sd-wan
10-12-2021 12:04 AM
@bigevilbeard Thanks for pointing me to the correct forum. I was not sure it is the right forum
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: