diff --git a/gen/models/feature_templates/.gitignore b/gen/models/feature_templates/.gitignore deleted file mode 100644 index 94a2dd14..00000000 --- a/gen/models/feature_templates/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.json \ No newline at end of file diff --git a/gen/models/feature_templates/aaa.json b/gen/models/feature_templates/aaa.json new file mode 100644 index 00000000..f5eacfd5 --- /dev/null +++ b/gen/models/feature_templates/aaa.json @@ -0,0 +1,1095 @@ +{ + "fields": [ + { + "dataPath": [ + "aaa" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "local", + "value": "Local" + }, + { + "key": "radius", + "value": "Radius" + }, + { + "key": "tacacs", + "value": "Tacacs" + } + ] + }, + "defaultOption": "constant", + "description": "Authentication Order", + "details": "Set order to try different authentication methods", + "key": "auth-order", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "aaa" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Radius Server List (Separated by commas)", + "details": "Designate radius servers for authentication and accounting", + "key": "radius-servers", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "aaa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Authentication Fallback", + "details": "Fall back if higher-priority authentication fails", + "key": "auth-fallback", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "aaa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Admin Authentication Order", + "details": "Authenticate admin user as per auth-order", + "key": "admin-auth-order", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "aaa", + "logs" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Disable Audit Logs", + "details": "Disable audit logs", + "key": "audit-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "aaa", + "logs" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Disable Netconf Logs", + "details": "Disable Netconf logs", + "key": "netconf-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Select the name for the task", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CLI", + "details": "Define oper-exec accept command", + "key": "command", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "oper-exec" + ], + "defaultOption": "ignore", + "description": "Accept", + "details": "List of oper-exec commands to allow", + "key": "accept", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "command" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CLI", + "details": "Define oper-exec deny command", + "key": "command", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "oper-exec" + ], + "defaultOption": "ignore", + "description": "Deny", + "details": "List of oper-exec commands to deny", + "key": "deny", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "command" + ] + }, + { + "dataPath": [ + "oper-exec" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "accept", + "value": "accept" + }, + { + "key": "deny", + "value": "deny" + } + ] + }, + "defaultOption": "constant", + "description": "Default action", + "details": "Define oper-exec default action", + "key": "default-action", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CLI", + "details": "Define configure accept command", + "key": "command", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "config" + ], + "defaultOption": "ignore", + "description": "Accept", + "details": "List of config commands to allow", + "key": "accept", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "command" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CLI", + "details": "Define config accept command", + "key": "command", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "config" + ], + "defaultOption": "ignore", + "description": "Deny", + "details": "List of config commands to deny", + "key": "deny", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "command" + ] + }, + { + "dataPath": [ + "config" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "accept", + "value": "accept" + }, + { + "key": "deny", + "value": "deny" + } + ] + }, + "defaultOption": "constant", + "description": "Default action", + "details": "Define config default action", + "key": "default-action", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "aaa" + ], + "defaultOption": "ignore", + "description": "Task Permissions", + "details": "Set the user group\u2019s tasks and task privileges", + "key": "task", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [ + "aaa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable/disable user accounting", + "details": "Enable/disable user accounting", + "key": "accounting", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set name of user group", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Mode", + "details": "Select the task to set privileges for", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "read", + "value": "read" + }, + { + "key": "write", + "value": "write" + } + ] + }, + "defaultOption": "constant", + "description": "Permissions", + "details": "Set read or write permission for the task", + "key": "permission", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Task Permissions", + "details": "Set the user group\u2019s tasks and task privileges", + "key": "task", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "mode" + ] + } + ], + "dataPath": [ + "aaa" + ], + "defaultOption": "ignore", + "description": "User Group Configuration", + "details": "Create groupings of users with the same authorization privileges", + "key": "usergroup", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set the username", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set the user password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set the user scrypt password/hash", + "key": "secret", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Add a description of the user", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "User Groups", + "details": "Configure the groups that the user is part of", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "key-type", + "details": "ssh key-type", + "key": "usertag", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "key-string", + "details": "Public-key to be copied from client", + "key": "key-string", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "ssh-rsa", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "key-type", + "details": "ssh key-type", + "key": "key-type", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "SSH pubkey", + "details": "List of public-keys per user", + "key": "pubkey-chain", + "maxElements": 10, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "usertag" + ] + } + ], + "dataPath": [ + "aaa" + ], + "defaultOption": "ignore", + "description": "User Configuration", + "details": "Create local login account", + "key": "user", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [ + "aaa" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Cisco Tac Enable Read only", + "details": "Cisco Tac Enable Read only", + "key": "ciscotacro-user", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "aaa" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Cisco Tac Enable Read and Write", + "details": "Cisco Tac Enable Read and Write", + "key": "ciscotacrw-user", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tacacs" + ], + "dataType": { + "default": 5, + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timeout", + "details": "Configure how long to wait for replies from the TACACS server", + "key": "timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tacacs" + ], + "dataType": { + "default": "pap", + "type": "enum", + "values": [ + { + "key": "ascii", + "value": "ASCII" + }, + { + "key": "pap", + "value": "PAP" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication", + "details": "TACACS authentication type", + "key": "authentication", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set IP address of TACACS server", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 49, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Port", + "details": "Set port to use to connect to TACACS server", + "key": "auth-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which TACACS server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach TACACS server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Key", + "details": "Set the password to access the TACACS server", + "key": "key", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Secret Key", + "details": "Set the AES encrypted key to access the TACACS server", + "key": "secret-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "TACACS server priority <0..7>", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tacacs" + ], + "defaultOption": "ignore", + "description": "Server", + "details": "Configure the TACACS server", + "key": "server", + "maxElements": 8, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [ + "radius" + ], + "dataType": { + "default": 5, + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timeout", + "details": "Configure how long to wait for replies from the RADIUS server", + "key": "timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "radius" + ], + "dataType": { + "default": 3, + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Retransmit Count", + "details": "Configure how many times to contact each RADIUS server", + "key": "retransmit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set IP address of RADIUS server", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 16, + "minLength": 4, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tag", + "details": "Reference tag/name for the server", + "key": "tag", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1812, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Port", + "details": "Set port to use to connect to RADIUS server", + "key": "auth-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1813, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Accounting Port", + "details": "Set port to use to connect to RADIUS server", + "key": "acct-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which RADIUS server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach RADIUS server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Key", + "details": "Set the password to access the RADIUS server", + "key": "key", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "ngth": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Secret Key", + "details": "Set the AES encrypted key to access the RADIUS server", + "key": "secret-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "RADIUS server priority <0..7>", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "radius" + ], + "defaultOption": "ignore", + "description": "Server", + "details": "Configure the RADIUS server", + "key": "server", + "maxElements": 8, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "name": "aaa", + "nameSpace": "http://viptela.com/system", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/appqoe.json b/gen/models/feature_templates/appqoe.json new file mode 100644 index 00000000..f16aecea --- /dev/null +++ b/gen/models/feature_templates/appqoe.json @@ -0,0 +1,497 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DRE Optimization", + "details": "Enable/Disable DRE optimization", + "key": "dreopt", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "1", + "maxLength": 36, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "Virtual Application Instance", + "details": "List of Virtual applications", + "key": "instance-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "dreopt", + "type": "enum", + "values": [ + { + "key": "dreopt", + "value": "dreopt" + } + ] + }, + "defaultOption": "constant", + "description": "Virtual Application Type", + "details": "List of Virtual applications", + "key": "application-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "dreopt" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "small", + "value": "small" + }, + { + "key": "medium", + "value": "medium" + }, + { + "key": "large", + "value": "large" + }, + { + "key": "extra-large", + "value": "extra-large" + }, + { + "key": "default", + "value": "default" + } + ] + }, + "defaultOption": "ignore", + "description": "Resource Profile", + "details": "Resource Profile", + "key": "resource-profile", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [ + "virtual-applications" + ], + "defaultOption": "ignore", + "description": "Virtual Application", + "details": "Virtual application Instance", + "key": "virtual-application", + "maxElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "instance-id" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSL Decryption", + "details": "Enable/Disable SSL decryption for DRE", + "key": "ssl", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "List of controller group", + "key": "group-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "description", + "details": "appnav controller group description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Controller IP", + "details": "List of controllers", + "key": "appnav-controller", + "maxElements": 1, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Controller IP address", + "details": "Controller IP Address", + "key": "address", + "maxElements": 1, + "minElements": 1, + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 65530, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Service VPN", + "details": "vpn id", + "key": "vpn", + "maxElements": 1, + "minElements": 1, + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Controller IP", + "details": "List of controllers", + "key": "appnav-controllers", + "maxElements": 1, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Appnav Controller Group", + "details": "Appnav controller group name", + "key": "appnav-controller-group", + "maxElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "group-name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "List of service node group", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "description", + "details": "Service node group description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Integrated Service Node", + "details": "Integrated Service Node", + "key": "internal", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "External Service Node", + "details": "External Service Node", + "key": "external-node", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Service Node IP", + "details": "IP Address", + "key": "address", + "maxElements": 1, + "minElements": 1, + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Virtual Port Group IP", + "details": "ip and prefix", + "key": "vpg-ip", + "maxElements": 1, + "minElements": 1, + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Service Node", + "details": "Service Node Information", + "key": "service-node", + "maxElements": 64, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Service Node Group", + "details": "Name", + "key": "service-node-group", + "maxElements": 32, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "List of services", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Appnav Controller Group", + "details": "Appnav controller group", + "key": "appnav-controller-group", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Service Node Group", + "details": "Service node group", + "key": "service-node-group", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Service Node Group", + "details": "Service node group", + "key": "service-node-groups", + "objectType": "list", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Enable", + "details": "enable service context", + "key": "enable", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Vpn", + "details": "Vpn", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + } + ], + "dataPath": [ + "service-context" + ], + "defaultOption": "ignore", + "description": "Service Context", + "details": "Service Context", + "key": "appqoe", + "maxElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "appqoe", + "nameSpace": "http://viptela.com/service-insertion", + "xmlPath": [], + "xmlRootTag": "service-insertion" +} \ No newline at end of file diff --git a/gen/models/feature_templates/archive.json b/gen/models/feature_templates/archive.json new file mode 100644 index 00000000..0e32f5bc --- /dev/null +++ b/gen/models/feature_templates/archive.json @@ -0,0 +1,78 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Path to Archive File Directory", + "details": "Set the path to the archive file directory (ftp://file-path, scp://user@host:file-path, /)", + "key": "path", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 10080, + "max": 525600, + "min": 5, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Archival Interval (minutes)", + "details": "Set how often to archive full running configuration", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "SSH Key File", + "details": "Set name of SSH private key file on local device", + "key": "ssh-id-file", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which archiver server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Archive", + "nameSpace": "http://viptela.com/system", + "xmlPath": [ + "system" + ], + "xmlRootTag": "archive" +} \ No newline at end of file diff --git a/gen/models/feature_templates/banner.json b/gen/models/feature_templates/banner.json new file mode 100644 index 00000000..e5ec9ab7 --- /dev/null +++ b/gen/models/feature_templates/banner.json @@ -0,0 +1,44 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Login Banner", + "details": "Set message to display before login prompt", + "key": "login", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "MOTD Banner", + "details": "Set message to display after a user logs in", + "key": "motd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Banner", + "nameSpace": "http://viptela.com/system", + "xmlPath": [], + "xmlRootTag": "banner" +} \ No newline at end of file diff --git a/gen/models/feature_templates/bfd-vedge.json b/gen/models/feature_templates/bfd-vedge.json new file mode 100644 index 00000000..70cc25a3 --- /dev/null +++ b/gen/models/feature_templates/bfd-vedge.json @@ -0,0 +1,266 @@ +{ + "fields": [ + { + "dataPath": [ + "app-route" + ], + "dataType": { + "default": 6, + "max": 6, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Set the number of polling intervals used to determine tunnel SLA class", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "app-route" + ], + "dataType": { + "default": 600000, + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Poll Interval (milliseconds)", + "details": "Set how often BFD polls tunnels to collect packet latency, loss, and statistics", + "key": "poll-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 48, + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default DSCP value for BFD packets", + "details": "Set default DSCP value for BFD packets", + "key": "default-dscp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "default", + "value": "Default" + }, + { + "key": "mpls", + "value": "MPLS" + }, + { + "key": "metro-ethernet", + "value": "Metro Ethernet" + }, + { + "key": "biz-internet", + "value": "Biz Internet" + }, + { + "key": "public-internet", + "value": "Public Internet" + }, + { + "key": "lte", + "value": "LTE" + }, + { + "key": "3g", + "value": "3G" + }, + { + "key": "red", + "value": "Red" + }, + { + "key": "green", + "value": "Green" + }, + { + "key": "blue", + "value": "Blue" + }, + { + "key": "gold", + "value": "Gold" + }, + { + "key": "silver", + "value": "Silver" + }, + { + "key": "bronze", + "value": "Bronze" + }, + { + "key": "custom1", + "value": "Custom 1" + }, + { + "key": "custom2", + "value": "Custom 2" + }, + { + "key": "custom3", + "value": "Custom 3" + }, + { + "key": "private1", + "value": "Private 1" + }, + { + "key": "private2", + "value": "Private 2" + }, + { + "key": "private3", + "value": "Private 3" + }, + { + "key": "private4", + "value": "Private 4" + }, + { + "key": "private5", + "value": "Private 5" + }, + { + "key": "private6", + "value": "Private 6" + } + ] + }, + "defaultOption": "constant", + "description": "Color", + "details": "Set color that identifies the WAN transport tunnel", + "key": "color", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1000, + "max": 300000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (milliseconds)", + "details": "Set how often BFD sends Hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 7, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Set how many Hello packet intervals to wait before declaring that a tunnel has failed", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Path MTU Discovery", + "details": "Control automatic path MTU discovery", + "key": "pmtu-discovery", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 48, + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "BFD Default DSCP value for tloc color", + "details": "Set BFD Default DSCP value for tloc color", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Color", + "details": "Set color that identifies the WAN transport tunnel", + "key": "color", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "color" + ] + } + ], + "name": "BFD", + "nameSpace": "http://viptela.com/bfd", + "xmlPath": [], + "xmlRootTag": "bfd" +} \ No newline at end of file diff --git a/gen/models/feature_templates/bgp.json b/gen/models/feature_templates/bgp.json new file mode 100644 index 00000000..a7dd2b87 --- /dev/null +++ b/gen/models/feature_templates/bgp.json @@ -0,0 +1,1621 @@ +{ + "fields": [ + { + "dataPath": [ + "bgp" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "variable", + "description": "AS Number", + "details": "Set autonomous system number <1..4294967295> or ", + "key": "as-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable BGP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Router ID", + "details": "Configure BGP router identifier", + "key": "router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Propagate AS Path", + "details": "Propagate AS Path ", + "key": "propagate-aspath", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "distance" + ], + "dataType": { + "default": 20, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "External Routes Distance", + "details": "Set administrative distance for external BGP routes", + "key": "external", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "distance" + ], + "dataType": { + "default": 200, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Internal Routes Distance", + "details": "Set administrative distance for internal BGP routes", + "key": "internal", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "distance" + ], + "dataType": { + "default": 20, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Local Routes Distance", + "details": "Set administrative distance for local BGP routes", + "key": "local", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "timers" + ], + "dataType": { + "default": 60, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Keepalive (seconds)", + "details": "Set how often keepalive messages are sent to BGP peer", + "key": "keepalive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "timers" + ], + "dataType": { + "default": 180, + "max": 65535, + "min": 0, + "type": "holdTime" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set the interval when BGP considers a neighbor to be down", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "med" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Compare MED", + "details": "Compare MEDs from all ASs when selecting active BGP paths", + "key": "always-compare", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "med" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Deterministic MED", + "details": "Compare MEDs from all routes from same AS when selecting active BGP paths", + "key": "deterministic", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "med" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Missing MED as Worst", + "details": "If path has no MED, consider it to be worst path when selecting active BGP paths", + "key": "missing-as-worst", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Compare Router ID", + "details": "Compare router IDs when selecting active BGP paths", + "key": "compare-router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "as-path" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Multipath Relax", + "details": "Ignore AS for multipath selection", + "key": "multipath-relax", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv4-unicast", + "value": "ipv4-unicast" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set BGP address family", + "key": "family-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Aggregate Prefix", + "details": "Configure the prefixes to aggregate", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "AS Set Path", + "details": "Set AS set path information", + "key": "as-set", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Summary Only", + "details": "Filter out more specific routes from updates", + "key": "summary-only", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Aggregate Prefixes ", + "details": "Aggregate prefixes in specific range", + "key": "aggregate-address", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "IPv6 Aggregate Prefix", + "details": "Configure the IPv6 prefixes to aggregate", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "AS Set Path", + "details": "Set AS set path information", + "key": "as-set", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Summary Only", + "details": "Filter out more specific routes from updates", + "key": "summary-only", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IPv6 Aggregate Prefixes ", + "details": "IPv6 Aggregate prefixes in specific range", + "key": "ipv6-aggregate-address", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Network Prefix", + "details": "Configure the prefixes for BGP to announce", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Network", + "details": "Configure the networks for BGP to advertise", + "key": "network", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Network Prefix", + "details": "Configure the prefixes for BGP to announce", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Network", + "details": "Configure the networks for BGP to advertise", + "key": "ipv6-network", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "dataPath": [ + "maximum-paths" + ], + "dataType": { + "max": 32, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Paths", + "details": "Set maximum number of parallel IBGP paths for multipath load sharing", + "key": "paths", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "ospf", + "value": "ospf" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "nat", + "value": "nat" + }, + { + "key": "natpool-outside", + "value": "natpool-outside" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol to redistribute routes from", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Configure policy to apply to prefixes received from BGP neighbor", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes into BGP", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set BGP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "family-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set neighbor address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable a BGP neighbor", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "remoteAS" + }, + "defaultOption": "variable", + "description": "Remote AS", + "details": "Set remote autonomous system number", + "key": "remote-as", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Keepalive Time (seconds)", + "details": "Set how often to advertise keepalive messages to BGP peer", + "key": "keepalive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "holdTime" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait since receiving a keepalive message to consider BGP peer unavailable", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Connection Retry Time (seconds)", + "details": "Set amount of time between retries when re-establish a peer connection", + "key": "connect-retry", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 600, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Advertisement Interval (seconds)", + "details": "Set minimum route advertisement interval between BGP routing update packets sent to neighbor", + "key": "advertisement-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "update-source" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Source Interface Address", + "details": "Set source interface address of routing updates", + "key": "if-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "update-source" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface Name", + "details": "Set IP address of interface for TCP connection to BGP neighbor", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Next-Hop Self", + "details": "Set router to be next hop for routes advertised to neighbor", + "key": "next-hop-self", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Community", + "details": "Send community attribute", + "key": "send-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Extended Community", + "details": "Send extended community attribute", + "key": "send-ext-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Negotiate Capability", + "details": "Set BGP to learn about BGP extensions supported by neighbor", + "key": "capability-negotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EBGP Multihop", + "details": "Set TTL value for peers that are not directly connected", + "key": "ebgp-multihop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Password", + "details": "Set MD5 password on TCP connection with BGP peer", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv4-unicast", + "value": "ipv4-unicast" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set BGP address family", + "key": "family-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Number of Prefixes", + "details": "Set maximum number of prefixes accepted from BGP peer", + "key": "prefix-num", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold (percentage)", + "details": "Set threshold at which to generate a warning message", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Restart Interval (minutes)", + "details": "Set when to restart BGP connection if threshold is exceeded", + "key": "restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Warning Only", + "details": "Display only a warning message when threshold is exceeded", + "key": "warning-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Set direction for applying route policy", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policy Name", + "details": "Configure name of route policy", + "key": "pol-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Select route policy to apply to prefixes received from BGP neighbor", + "key": "route-policy", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set BGP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "family-type" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "Neighbor", + "details": "Set BGP neighbors", + "key": "neighbor", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "IPv6 Address", + "details": "Set neighbor address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable a BGP neighbor", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "remoteAS" + }, + "defaultOption": "variable", + "description": "Remote AS", + "details": "Set remote autonomous system number", + "key": "remote-as", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Keepalive Time (seconds)", + "details": "Set how often to advertise keepalive messages to BGP peer", + "key": "keepalive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "holdTime" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait since receiving a keepalive message to consider BGP peer unavailable", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Connection Retry Time (seconds)", + "details": "Set amount of time between retries when re-establish a peer connection", + "key": "connect-retry", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 600, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Advertisement Interval (seconds)", + "details": "Set minimum route advertisement interval between BGP routing update packets sent to neighbor", + "key": "advertisement-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "update-source" + ], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "ignore", + "description": "Source Interface Address", + "details": "Set source interface address of routing updates", + "key": "if-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "update-source" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface Name", + "details": "Set IP address of interface for TCP connection to BGP neighbor", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Next-Hop Self", + "details": "Set router to be next hop for routes advertised to neighbor", + "key": "next-hop-self", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Community", + "details": "Send community attribute", + "key": "send-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Extended Community", + "details": "Send extended community attribute", + "key": "send-ext-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Negotiate Capability", + "details": "Set BGP to learn about BGP extensions supported by neighbor", + "key": "capability-negotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EBGP Multihop", + "details": "Set TTL value for peers that are not directly connected", + "key": "ebgp-multihop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Password", + "details": "Set MD5 password on TCP connection with BGP peer", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv6-unicast", + "value": "ipv6-unicast" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set BGP address family", + "key": "family-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Number of Prefixes", + "details": "Set maximum number of prefixes accepted from BGP peer", + "key": "prefix-num", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold (percentage)", + "details": "Set threshold at which to generate a warning message", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Restart Interval (minutes)", + "details": "Set when to restart BGP connection if threshold is exceeded", + "key": "restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Warning Only", + "details": "Display only a warning message when threshold is exceeded", + "key": "warning-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Set direction for applying route policy", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policy Name", + "details": "Configure name of route policy", + "key": "pol-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Select route policy to apply to prefixes received from BGP neighbor", + "key": "route-policy", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set BGP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "family-type" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "IPv6 Neighbor", + "details": "Set BGP IPv6 neighbors", + "key": "ipv6-neighbor", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "name": "bgp", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/bridge.json b/gen/models/feature_templates/bridge.json new file mode 100644 index 00000000..c1420e38 --- /dev/null +++ b/gen/models/feature_templates/bridge.json @@ -0,0 +1,210 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Bridge Name", + "details": "Configure bridge description", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 4096, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Age-Out Time (seconds)", + "details": "Set when a MAC table entry ages out", + "key": "age-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1024, + "max": 4096, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum MAC Addresses", + "details": "Set maximum number of MAC addresses the bridging domain can learn", + "key": "max-macs", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4095, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Set VLAN identifier associated with bridging domain", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Configure the Gigabit Ethernet interface name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Configure interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Native VLAN support", + "details": "Configure interface to carry untagged traffic", + "key": "native-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "Set MAC address", + "key": "macaddr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Static MAC Address", + "details": "Add static MAC address entries for interface", + "key": "static-mac-address", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "macaddr" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable interface in bridging domain", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Interface to bind to bridging domain", + "details": "Configure interface to associate with bridging domain", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "if-name" + ] + } + ], + "name": "bridge", + "nameSpace": "http://viptela.com/bridge", + "uniqueKey": "name", + "xmlPath": [ + "bridge" + ], + "xmlRootTag": "bridge-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedgeVoiceCard.json b/gen/models/feature_templates/cedgeVoiceCard.json new file mode 100644 index 00000000..ac0700ca --- /dev/null +++ b/gen/models/feature_templates/cedgeVoiceCard.json @@ -0,0 +1,1151 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Slot/sub-slot ID", + "details": "Slot/sub-slot ID", + "key": "port-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Module Slot/Sub-slot", + "details": "Module Slot/Sub-slot", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable TDM hair pin", + "details": "Enable TDM hair pin", + "key": "local-bypass", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "NIM-2FXO", + "value": "NIM-2FXO" + }, + { + "key": "NIM-4FXO", + "value": "NIM-4FXO" + }, + { + "key": "NIM-2FXSP", + "value": "NIM-2FXSP" + }, + { + "key": "NIM-4FXSP", + "value": "NIM-4FXSP" + }, + { + "key": "NIM-2FXS/4FXOP", + "value": "NIM-2FXS/4FXOP" + }, + { + "key": "SM-X-8FXS/12FXO", + "value": "SM-X-8FXS/12FXO" + }, + { + "key": "SM-X-16FXS/2FXO", + "value": "SM-X-16FXS/2FXO" + }, + { + "key": "SM-X-24FXS/4FXO", + "value": "SM-X-24FXS/4FXO" + }, + { + "key": "SM-X-72FXS", + "value": "SM-X-72FXS" + } + ] + }, + "defaultOption": "constant", + "description": "Module", + "details": "Voice module type", + "key": "module-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "FXS", + "value": "FXS" + }, + { + "key": "FXO", + "value": "FXO" + } + ] + }, + "defaultOption": "constant", + "description": "Port Type", + "details": "Port Type", + "key": "port-type", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Port range", + "details": "Port range", + "key": "port-range", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Voice port description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "secondary" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Secondary Dialtone", + "details": "Secondary Dialtone", + "key": "dialtone", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "connection", + "plar" + ], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Connection Plar", + "details": "Private Line Auto Ring number", + "key": "plar-num", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "connection", + "plar" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "OPX", + "details": "Off-Premises eXtension number", + "key": "opx-num-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "caller-id" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Caller-ID Enable", + "details": "CallerID", + "key": "enable", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Shutdown", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "signal" + ], + "dataType": { + "default": "loopStart", + "type": "enum", + "values": [ + { + "key": "LoopStart", + "value": "loopStart" + }, + { + "key": "GroundStart", + "value": "groundStart" + }, + { + "key": "DID", + "value": "did" + } + ] + }, + "defaultOption": "ignore", + "description": "Signal Type", + "details": "Signal type", + "key": "signal-choice", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "signal" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "Delay dial", + "value": "delay-dial" + }, + { + "key": "Immediate", + "value": "immediate" + }, + { + "key": "Wink start", + "value": "wink-start" + } + ] + }, + "defaultOption": "ignore", + "description": "DID Signal Mode", + "details": "DID Signal Mode", + "key": "did-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Voice card", + "details": "Configure of voice card", + "key": "voice-card", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "port-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Slot / Sub-Slot/Port range", + "details": "Slot / Sub-Slot/Port range", + "key": "dig-port-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Slot / Sub-Slot", + "details": "Slot/sub-slot ID", + "key": "id-dig", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "NIM-1MFT-T1/E1", + "value": "NIM-1MFT-T1/E1" + }, + { + "key": "NIM-2MFT-T1/E1", + "value": "NIM-2MFT-T1/E1" + }, + { + "key": "NIM-4MFT-T1/E1", + "value": "NIM-4MFT-T1/E1" + }, + { + "key": "NIM-8MFT-T1/E1", + "value": "NIM-8MFT-T1/E1" + }, + { + "key": "NIM-1CE1T1-PRI-T1/E1", + "value": "NIM-1CE1T1-PRI" + }, + { + "key": "NIM-2CE1T1-PRI-T1/E1", + "value": "NIM-2CE1T1-PRI" + }, + { + "key": "NIM-8CE1T1-PRI-T1/E1", + "value": "NIM-8CE1T1-PRI" + } + ] + }, + "defaultOption": "constant", + "description": "Module", + "details": "Voice module type", + "key": "module-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "T1 PRI", + "value": "T1 PRI" + }, + { + "key": "E1 PRI", + "value": "E1 PRI" + } + ] + }, + "defaultOption": "constant", + "description": "Interface Type", + "details": "Voice Module Interface Type", + "key": "interface-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DSP Hairpin", + "details": "Configure DSP Hairpin", + "key": "dsp-hairpin", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Participation", + "details": "Configure network participation", + "key": "network-participation", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Port", + "details": "Port ID", + "key": "port-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "line", + "value": "line" + }, + { + "key": "network", + "value": "network" + } + ] + }, + "defaultOption": "ignore", + "description": "Line/Network", + "details": "Clock Type", + "key": "clock-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "primary", + "value": "primary" + }, + { + "key": "secondary", + "value": "secondary" + } + ] + }, + "defaultOption": "ignore", + "description": "Primary Clock/Secondary Clock", + "details": "Clock Position", + "key": "clock-position", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 6, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Configure clock priority", + "key": "clock-priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Configure controller shutdown", + "key": "controller-shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Serial", + "details": "Configure serial interface shutdown", + "key": "serial-intf-shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Voice Port", + "details": "Configure voice port shutdown", + "key": "voiceport-shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Interface", + "details": "Configure Digital voice card interface", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "port-id" + ] + }, + { + "dataPath": [], + "dataType": { + "range": "1-24", + "type": "numberListRangeByComma" + }, + "defaultOption": "ignore", + "description": "Time Slots", + "details": "Time Slots", + "key": "timeslots", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "crc4", + "value": "crc4" + }, + { + "key": "no-crc4", + "value": "no-crc4" + }, + { + "key": "esf", + "value": "esf" + }, + { + "key": "sf", + "value": "sf" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Framing", + "details": "Framing", + "key": "framing", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Australia", + "details": "Framing Australia", + "key": "framing-australia", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ami", + "value": "ami" + }, + { + "key": "hdb3", + "value": "hdb3" + }, + { + "key": "b8zs", + "value": "b8zs" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Linecode", + "details": "Line code", + "key": "linecode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "120-ohm", + "type": "enum", + "values": [ + { + "key": "75-ohm", + "value": "75-ohm" + }, + { + "key": "120-ohm", + "value": "120-ohm" + } + ] + }, + "defaultOption": "ignore", + "description": "Line Termination", + "details": "Line termination", + "key": "line-termination", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "long", + "value": "long" + }, + { + "key": "short", + "value": "short" + } + ] + }, + "defaultOption": "ignore", + "description": "Cable Length", + "details": "Cable length type", + "key": "cablelength-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "-7.5", + "value": "-7.5" + }, + { + "key": "-15", + "value": "-15" + }, + { + "key": "-22.5", + "value": "-22.5" + }, + { + "key": "0", + "value": "0" + } + ] + }, + "defaultOption": "constant", + "description": "Cable Length", + "details": "Cable Length Long", + "key": "cablelength-long", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "110", + "value": "110" + }, + { + "key": "220", + "value": "220" + }, + { + "key": "330", + "value": "330" + }, + { + "key": "440", + "value": "440" + }, + { + "key": "550", + "value": "550" + }, + { + "key": "660", + "value": "660" + } + ] + }, + "defaultOption": "constant", + "description": "Cable Length", + "details": "Cable Length Short", + "key": "cablelength-short", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Side", + "details": "Network side", + "key": "network-side", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "primary-4ess", + "value": "primary-4ess" + }, + { + "key": "primary-5ess", + "value": "primary-5ess" + }, + { + "key": "primary-dms100", + "value": "primary-dms100" + }, + { + "key": "primary-net5", + "value": "primary-net5" + }, + { + "key": "primary-ni", + "value": "primary-ni" + }, + { + "key": "primary-ntt", + "value": "primary-ntt" + }, + { + "key": "primary-qsig", + "value": "primary-qsig" + } + ] + }, + "defaultOption": "constant", + "description": "Switch Type", + "details": "Switch type", + "key": "switch-type", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "default": 1000, + "max": "400000", + "min": "400", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T200", + "details": "Specify Timer T-Activate in milliseconds", + "key": "isdn-timer-T200", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "default": 10000, + "max": "400000", + "min": "400", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T203", + "details": "Specify Timer T203 in milliseconds", + "key": "isdn-timer-T203", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "max": "86400000", + "min": "180000", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T301", + "details": "Specify Timer T301 in milliseconds", + "key": "isdn-timer-T301", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "max": "86400000", + "min": "400", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T303", + "details": "Specify Timer T303 in milliseconds", + "key": "isdn-timer-T303", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "default": 30000, + "max": "86400000", + "min": "400", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T306", + "details": "Specify Timer T306 in milliseconds", + "key": "isdn-timer-T306", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "max": "86400000", + "min": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T309", + "details": "Specify Timer T307 in milliseconds", + "key": "isdn-timer-T309", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "max": "400000", + "min": "400", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T310", + "details": "Specify Timer T310 in milliseconds", + "key": "isdn-timer-T310", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "isdn-timer" + ], + "dataType": { + "max": "86400000", + "min": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "T321", + "details": "Specify Timer T321 in milliseconds", + "key": "isdn-timer-T321", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 20, + "max": "200", + "min": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Delay Connect Timer", + "details": "Configure Delay Connect Timer", + "key": "delay-connect-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Digital Voice Card", + "details": "Configure Digital Voice Card", + "key": "voice-card-dig", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "dig-port-id" + ] + }, + { + "dataPath": [ + "clock-dig" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Automatically Sync", + "details": "Configure clock synchronization", + "key": "sync", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "clock-dig" + ], + "dataType": { + "default": 300, + "max": "86400", + "min": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Wait to restore clock", + "details": "Wait to restore clock time range", + "key": "wait-to-restore", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cedgeVoiceCard", + "nameSpace": "http://viptela.com/uc-voice", + "xmlPath": [], + "xmlRootTag": "uc-voice" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedgeVoiceSIP.json b/gen/models/feature_templates/cedgeVoiceSIP.json new file mode 100644 index 00000000..0803e0a6 --- /dev/null +++ b/gen/models/feature_templates/cedgeVoiceSIP.json @@ -0,0 +1,356 @@ +{ + "fields": [ + { + "dataPath": [ + "service", + "ip", + "address", + "trusted", + "list" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Trusted IPv4 Prefix List", + "details": "Trusted IPv4 Prefix - comma-separated list", + "key": "ipv4", + "maxElements": 100, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "service", + "ip", + "address", + "trusted", + "list" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "Trusted IPv6 Prefix List", + "details": "Trusted IPv6 Prefix - comma-separated list", + "key": "ipv6", + "maxElements": 100, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Source Interface", + "details": "Source interface for SIP registration", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "pots", + "type": "radioButtonList", + "values": [ + { + "label": "POTS", + "value": "pots" + }, + { + "label": "SIP", + "value": "voip" + } + ] + }, + "defaultOption": "constant", + "description": "Dial Peer Type", + "details": "Select the type of Dial Peer", + "key": "type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1073741823, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Voice Dial Peer Tag", + "details": "Voice dial peer tag", + "key": "dialpeertag", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Dial peer description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Numbering Pattern", + "details": "Dial plan number pattern", + "key": "number-pattern", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "Incoming", + "type": "radioButtonList", + "values": [ + { + "label": "Incoming", + "value": "Incoming" + }, + { + "label": "Outgoing", + "value": "Outgoing" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Dial Plan Direction", + "key": "call-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "forward-digits" + ], + "dataType": { + "default": "none", + "type": "radioButtonList", + "values": [ + { + "label": "All", + "value": "all" + }, + { + "label": "None", + "value": "none" + }, + { + "label": "Some", + "value": "some" + } + ] + }, + "defaultOption": "ignore", + "description": "Forward Digits Type", + "details": "Dial plan forward digitse", + "key": "fwd-digit-choice", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "forward-digits" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Forward all destination digits", + "details": "Forward all destination digits", + "key": "all", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "forward-digits" + ], + "dataType": { + "default": 0, + "max": "32", + "min": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Forward Digits", + "details": "No. of right-adjusted dial digits to be forwarded", + "key": "num-digits", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sip", + "session", + "transport" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "TCP" + }, + { + "key": "udp", + "value": "UDP" + } + ] + }, + "defaultOption": "ignore", + "description": "Transport Protocol", + "details": "Transport Protocol", + "key": "transport-choice", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": "10", + "min": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Preference order of this dial-peer", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Voice Port", + "details": "Voice port associated with this peer", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "sip", + "session", + "target" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Destination Address", + "details": "Target address in formats 'ipv4: ' or 'ipv6: '", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "dial-peer" + ], + "defaultOption": "ignore", + "description": "POTS/Voip voice type", + "details": "POTS/Voip voice type", + "key": "voice", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "dialpeertag" + ] + } + ], + "name": "cedgeVoiceSIP", + "nameSpace": "http://viptela.com/uc-voice", + "xmlPath": [], + "xmlRootTag": "uc-voice" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedgeVoiceSrst.json b/gen/models/feature_templates/cedgeVoiceSrst.json new file mode 100644 index 00000000..1cb5fe58 --- /dev/null +++ b/gen/models/feature_templates/cedgeVoiceSrst.json @@ -0,0 +1,179 @@ +{ + "fields": [ + { + "dataPath": [ + "register", + "global" + ], + "dataType": { + "max": "1500", + "min": "1", + "type": "number" + }, + "defaultOption": "constant", + "description": "Max Phones", + "details": "Max number of phones supported", + "key": "max-pool", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "register", + "global" + ], + "dataType": { + "maxLength": "32", + "minLength": "1", + "type": "string" + }, + "defaultOption": "ignore", + "description": "System Message", + "details": "System Message", + "key": "system-message", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "register", + "global" + ], + "dataType": { + "max": "3500", + "min": "1", + "type": "number" + }, + "defaultOption": "constant", + "description": "Max Directory Numbers", + "details": "Maximum directory numbers supported", + "key": "max-dn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "register", + "global", + "call-manager-fallback" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Music on Hold", + "details": "Music on Hold", + "key": "moh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "register", + "global", + "call-manager-fallback" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Music on Hold file", + "details": "Music on Hold file", + "key": "filename", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "Voice Register Pool Tag", + "details": "Voice Register Pool Tag", + "key": "pool-tag", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "id", + "network" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Device Network IPv4 Prefix", + "details": "Device Network IPv4 Prefix (format: ADDRESS / MASK e.g., 1.1.1.1/32 or 1.1.1.0/24)", + "key": "ipv4prefix", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "id", + "network" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Device Network IPv6 Prefix", + "details": "Device Network IPv6 Prefix (format: ADDRESS // MASK e.g., 2001:db8::1234//ffff:ffff::ffff)", + "key": "ipv6prefix", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [ + "register" + ], + "defaultOption": "constant", + "description": "Voice register pool", + "details": "Voice register pool", + "key": "pool", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "pool-tag" + ] + } + ], + "name": "cedgeVoiceSrst", + "nameSpace": "http://viptela.com/voice", + "xmlPath": [], + "xmlRootTag": "uc-voice" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedge_aaa.json b/gen/models/feature_templates/cedge_aaa.json new file mode 100644 index 00000000..c6def825 --- /dev/null +++ b/gen/models/feature_templates/cedge_aaa.json @@ -0,0 +1,1184 @@ +{ + "fields": [ + { + "dataPath": [ + "authentication", + "dot1x", + "default" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Authentication Param", + "details": "Authentication configurations parameters", + "key": "authentication_group", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "accounting", + "dot1x", + "default", + "start-stop" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Accounting Param", + "details": "Accounting configurations parameters", + "key": "accounting_group", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "local", + "maxLength": 220, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "ServerGroups priority order", + "details": "ServerGroups priority order", + "key": "server-auth-order", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set the username", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set the user password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set the user scrypt password/hash", + "key": "secret", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "15", + "type": "enum", + "values": [ + { + "key": "1", + "value": "1" + }, + { + "key": "15", + "value": "15" + } + ] + }, + "defaultOption": "constant", + "description": "Privilege Level 1 OR 15", + "details": "Set Privilege Level for this user", + "key": "privilege", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "key-string", + "details": "Set the RSA key string", + "key": "key-string", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "key-type", + "details": "Only RSA is supported", + "key": "key-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "SSH pubkey", + "details": "List of RSA public-keys per user", + "key": "pubkey-chain", + "maxElements": 2, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "key-string" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "User Configuration", + "details": "Create local login account", + "key": "user", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of this Radius server Group", + "details": "Set Radius server Group Name", + "key": "group-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which Radius server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach Radius server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set IP address of Radius server", + "key": "address", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1812, + "max": 65534, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Port", + "details": "Set Authentication port to use to connect to Radius server", + "key": "auth-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1813, + "max": 65534, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Accounting Port", + "details": "Set Accounting port to use to connect to Radius server", + "key": "acct-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 5, + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timeout", + "details": "Configure how long to wait for replies from the Radius server", + "key": "timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 3, + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Retransmit Count", + "details": "Configure how many times to contact this Radius server", + "key": "retransmit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Key", + "details": "Set the Radius server shared key", + "key": "key", + "objectType": "object", + "optionType": [ + "constant" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "maxLength": 150, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Secret Key", + "details": "Set the Radius server shared type 7 encrypted key", + "key": "secret-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "6", + "value": "6" + }, + { + "key": "7", + "value": "7" + } + ] + }, + "defaultOption": "ignore", + "description": "Enum for the encryption type 6 or 7", + "details": "Type of encyption. To be used for type 6", + "key": "key-enum", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "key", + "type": "radioButtonList", + "values": [ + { + "label": "Key", + "value": "key" + }, + { + "label": "PAC Key", + "value": "pac" + } + ] + }, + "defaultOption": "ignore", + "description": "Key Type", + "details": "key type", + "key": "key-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Radius Server", + "details": "Configure the Radius server", + "key": "server", + "maxElements": 8, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Radius ServerGroup", + "details": "Configure the Radius serverGroup", + "key": "radius", + "maxElements": 3, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "group-name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "Client IP", + "details": "Client IP", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "VPN ID", + "details": "VPN ID", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Server Key Password", + "details": "Specify a RADIUS client server-key", + "key": "server-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VPN Configuration", + "details": "VPN configuration", + "key": "vpn", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "dataPath": [ + "radius-dynamic-author" + ], + "defaultOption": "ignore", + "description": "Radius client", + "details": "Specify a RADIUS client", + "key": "radius-client", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "ip" + ] + }, + { + "dataPath": [ + "radius-dynamic-author" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Server Key Password", + "details": "Specify a radius dynamic author server-key", + "key": "rda-server-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "radius-dynamic-author" + ], + "dataType": { + "default": "no", + "type": "radioButtonList", + "values": [ + { + "label": "Yes", + "value": "yes" + }, + { + "label": "No", + "value": "no" + }, + { + "label": "Right to Left", + "value": "right-to-left" + } + ] + }, + "defaultOption": "ignore", + "description": "Domain Stripping", + "details": "Domain Stripping", + "key": "domain-stripping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "radius-dynamic-author" + ], + "dataType": { + "default": "any", + "type": "radioButtonList", + "values": [ + { + "label": "Yes", + "value": "any" + }, + { + "label": "All", + "value": "all" + }, + { + "label": "Session Key", + "value": "session-key" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Type", + "details": "Authentication Type", + "key": "auth-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "radius-dynamic-author" + ], + "dataType": { + "default": 1700, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Port", + "details": "Specify Radius Dynamic Author Port", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "radius-trustsec" + ], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "CTS Authorization List", + "details": "CTS Authorization List", + "key": "cts-auth-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "radius-trustsec" + ], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "RADIUS group", + "details": "RADIUS trustsec group", + "key": "radius-trustsec-group", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of this TACACS server Group", + "details": "Set TACACS server Group Name", + "key": "group-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which TACACS server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach TACACS server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set IP address of TACACS server", + "key": "address", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 49, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Port", + "details": "TACACS Port", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 5, + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timeout", + "details": "Configure how long to wait for replies from the TACACS server", + "key": "timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Key", + "details": "Set the TACACS server shared key", + "key": "key", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "maxLength": 150, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Secret Key", + "details": "Set the TACACS server shared type 7 encrypted key", + "key": "secret-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "6", + "value": "6" + }, + { + "key": "7", + "value": "7" + } + ] + }, + "defaultOption": "ignore", + "description": "Enum for the encryption type 6 or 7", + "details": "Type of encyption. To be used for type 6", + "key": "key-enum", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "TACACS Server", + "details": "Configure the TACACS server", + "key": "server", + "maxElements": 8, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "TACACS ServerGroup", + "details": "Configure the TACACS serverGroup", + "key": "tacacs", + "maxElements": 3, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "group-name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "type": "string" + }, + "defaultOption": "constant", + "description": "Accounting Rule ID", + "details": "Configure Accounting Rule ID", + "key": "rule-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "commands", + "value": "Commands" + }, + { + "key": "exec", + "value": "Exec" + }, + { + "key": "network", + "value": "Network" + }, + { + "key": "system", + "value": "System" + } + ] + }, + "defaultOption": "constant", + "description": "Method", + "details": "Configure Accounting Method", + "key": "method", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "1", + "value": "1" + }, + { + "key": "15", + "value": "15" + } + ] + }, + "defaultOption": "ignore", + "description": "Privilege Level 1 OR 15", + "details": "Privilege level when method is commands", + "key": "level", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Enable Start-Stop", + "details": "Record start and stop without waiting", + "key": "start-stop", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4, + "type": "stringList", + "values": [] + }, + "defaultOption": "constant", + "description": "Group(s)", + "details": "Use Server-group", + "key": "group", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "accounting" + ], + "defaultOption": "ignore", + "description": "New Accounting Rule", + "details": "Configure the accounting rules", + "key": "accounting-rule", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "rule-id" + ] + }, + { + "dataPath": [ + "authorization" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Console", + "details": "For enabling console authorization", + "key": "authorization-console", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authorization" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Config Commands", + "details": "For configuration mode commands.", + "key": "authorization-config-commands", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "type": "string" + }, + "defaultOption": "constant", + "description": "Authorization Rule ID", + "details": "Configure Authorization Rule ID", + "key": "rule-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "commands", + "value": "Commands" + } + ] + }, + "defaultOption": "constant", + "description": "Method", + "details": "Method", + "key": "method", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "1", + "value": "1" + }, + { + "key": "15", + "value": "15" + } + ] + }, + "defaultOption": "constant", + "description": "Privilege Level 1 or 15", + "details": "Privilege level when method is commands", + "key": "level", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4, + "type": "stringList", + "values": [ + { + "key": "local", + "value": "local" + } + ] + }, + "defaultOption": "constant", + "description": "Group(s)", + "details": "Use Server-group", + "key": "group", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Authenticated", + "details": "Succeed if user has authenticated", + "key": "if-authenticated", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "authorization" + ], + "defaultOption": "ignore", + "description": "New Authorization Rule", + "details": "Configure the Authorization Rules", + "key": "authorization-rule", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "rule-id" + ] + } + ], + "name": "cedge_aaa", + "nameSpace": "http://viptela.com/cedge_aaa", + "xmlPath": [], + "xmlRootTag": "aaa" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedge_global.json b/gen/models/feature_templates/cedge_global.json new file mode 100644 index 00000000..7bea4f02 --- /dev/null +++ b/gen/models/feature_templates/cedge_global.json @@ -0,0 +1,481 @@ +{ + "fields": [ + { + "dataPath": [ + "nat64-global", + "nat64-timeout" + ], + "dataType": { + "default": 300, + "max": 536870, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT64 UDP session timeout, in seconds", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat64-global", + "nat64-timeout" + ], + "dataType": { + "default": 3600, + "max": 536870, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT64 TCP session timeout, in seconds", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "http-global" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "local", + "value": "local" + }, + { + "key": "aaa", + "value": "aaa" + } + ] + }, + "defaultOption": "ignore", + "description": "HTTP Authentication", + "details": "Set preference for HTTP Authentication", + "key": "http-authentication", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ssh" + ], + "dataType": { + "max": 2, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SSH version", + "details": "Set SSH version", + "key": "version", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTP Server", + "details": "Set HTTP Server", + "key": "http-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS Server", + "details": "Set HTTPS Server", + "key": "https-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Specify interface for source address in all HTTP(S) client connections", + "key": "source-intrf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Source Routing", + "details": "Set Source Route", + "key": "source-route", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ARP Proxy", + "details": "Set ARP Proxy", + "key": "arp-proxy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Passive FTP", + "details": "Set Passive FTP", + "key": "ftp-passive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "RSH/RCP", + "details": "Set RSH/RCP", + "key": "rcmd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Ignore BOOTP", + "details": "Configure Ignore BOOTP", + "key": "bootp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Domain-Lookup", + "details": "Configure Domain-Lookup", + "key": "domain-lookup", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TCP Keepalives (Out)", + "details": "Configure tcp-keepalives-out", + "key": "tcp-keepalives-out", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TCP Keepalives (In)", + "details": "Configure tcp-keepalives-in", + "key": "tcp-keepalives-in", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TCP Small Servers", + "details": "Configure tcp-small-servers", + "key": "tcp-small-servers", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "UDP Small Servers", + "details": "Configure udp-small-servers", + "key": "udp-small-servers", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "LLDP", + "details": "Configure LLDP", + "key": "lldp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "CDP", + "details": "Configure CDP", + "key": "cdp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP IFINDEX Persist", + "details": "Configure SNMP Ifindex Persist", + "key": "snmp-ifindex-persist", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Console Logging", + "details": "Configure Console Logging", + "key": "console-logging", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-other" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "VTY Line Logging", + "details": "Configure VTY Line Logging", + "key": "vty-logging", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "services-global", + "services-ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Telnet (Outbound)", + "details": "Configure Telnet (Outbound)", + "key": "line-vty", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cedge_global", + "nameSpace": "http://viptela.com/cedge_global", + "xmlPath": [], + "xmlRootTag": "global" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedge_igmp.json b/gen/models/feature_templates/cedge_igmp.json new file mode 100644 index 00000000..518097cb --- /dev/null +++ b/gen/models/feature_templates/cedge_igmp.json @@ -0,0 +1,94 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Group Address", + "details": "Set group address", + "key": "group-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Source Address", + "details": "Set source address", + "key": "source", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static Joins", + "details": "Configure static joins", + "key": "join-group", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "group-address", + "source" + ] + } + ], + "dataPath": [ + "igmp" + ], + "defaultOption": "ignore", + "description": "Interface", + "details": "Set IGMP interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "cedge_igmp", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedge_multicast.json b/gen/models/feature_templates/cedge_multicast.json new file mode 100644 index 00000000..908bf5b2 --- /dev/null +++ b/gen/models/feature_templates/cedge_multicast.json @@ -0,0 +1,65 @@ +{ + "fields": [ + { + "dataPath": [ + "multicast" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "SPT Only", + "details": "Shortest Path Tree (SPT) Only Mode", + "key": "spt-only", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "multicast-replicator" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Local Replicator", + "details": "Replicator is local to this device", + "key": "local", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "multicast-replicator" + ], + "dataType": { + "max": 1000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold", + "details": "Set number of joins per group the router supports", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cedge_multicast", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cedge_pim.json b/gen/models/feature_templates/cedge_pim.json new file mode 100644 index 00000000..89180b10 --- /dev/null +++ b/gen/models/feature_templates/cedge_pim.json @@ -0,0 +1,506 @@ +{ + "fields": [ + { + "dataPath": [ + "pim" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Auto-RP", + "details": "Enable or disable auto-RP", + "key": "auto-rp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set RP Announce Interface Name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "RP Announce Scope", + "details": "Set RP Announce Scope", + "key": "scope", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "pim", + "send-rp-announce" + ], + "defaultOption": "ignore", + "description": "RP Announce", + "details": "Enable or disable RP Announce", + "key": "send-rp-announce-list", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "if-name" + ] + }, + { + "dataPath": [ + "pim", + "send-rp-discovery" + ], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set RP Discovery Interface Name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "constant", + "description": "Interface", + "details": "Set Autonomic-Networking virtual interface", + "key": "pim-interface-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Access List", + "details": "Set IP Access List for PIM RP Candidate", + "key": "group-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16383, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "Set RP candidate advertisement interval", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set RP candidate priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "pim" + ], + "defaultOption": "ignore", + "description": "RP Candidate", + "details": "Set RP Discovery Scope", + "key": "rp-candidate", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "pim-interface-name" + ] + }, + { + "dataPath": [ + "pim", + "bsr-candidate" + ], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "BSR Candidate", + "details": "Set Autonomic-Networking virtual interface", + "key": "bsr-interface-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim", + "bsr-candidate" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Hash Mask Length", + "details": "Hash Mask length for RP selection", + "key": "mask", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim", + "bsr-candidate" + ], + "dataType": { + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set RP candidate priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim", + "bsr-candidate" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "RP Candidate Access List", + "details": "Set BSR RP candidate filter", + "key": "accept-rp-candidate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim", + "send-rp-discovery" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Scope", + "details": "Set RP Discovery Scope", + "key": "scope", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "pim", + "ssm" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Access List", + "details": "Set Access List for PIM SSM", + "key": "range", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim", + "ssm" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSM", + "details": "Turn SSM On / Off", + "key": "default", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "Set Static RP IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access List", + "details": "Set Static RP Access List", + "key": "access-list", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Override", + "details": "Set override flag", + "key": "override", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "pim" + ], + "defaultOption": "ignore", + "description": "Static-RP", + "details": "Set Static RP Address(es)", + "key": "rp-addr", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [ + "pim" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "0", + "value": "0" + }, + { + "key": "infinity", + "value": "infinity" + } + ] + }, + "defaultOption": "constant", + "description": "SPT Threshold", + "details": "Set when PIM router joins the SPT (kbps)", + "key": "spt-threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 30, + "max": 18725, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Query Interval (seconds)", + "details": "Set PIM query interval", + "key": "query-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 60, + "max": 600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Join/Prune Interval (seconds)", + "details": "Set interval at which PIM multicast traffic can join or be removed from RPT or SPT", + "key": "join-prune-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "pim" + ], + "defaultOption": "ignore", + "description": "Interface", + "details": "Set PIM interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "cedge_pim", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cellular-cedge-controller.json b/gen/models/feature_templates/cellular-cedge-controller.json new file mode 100644 index 00000000..bd4e8fbf --- /dev/null +++ b/gen/models/feature_templates/cellular-cedge-controller.json @@ -0,0 +1,188 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 5, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Cellular ID", + "details": "Cellular interface name", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 1, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Slot", + "details": "Set slot number", + "key": "slot", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "Data Profile", + "details": "Set data profile", + "key": "data-profile", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "Attach Profile", + "details": "Set attach profile", + "key": "attach-profile", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "lte", + "sim" + ], + "defaultOption": "ignore", + "description": "Data Profile List", + "details": "Data Profile List", + "key": "data-profile-list", + "maxElements": 2, + "minElements": 0, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "slot" + ] + }, + { + "dataPath": [ + "lte", + "sim", + "primary" + ], + "dataType": { + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Primary SIM slot", + "details": "Set primary SIM slot", + "key": "slot", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "lte", + "sim" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SIM Failover Retries", + "details": "Set SIM failover retries", + "key": "max-retry", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "lte" + ], + "dataType": { + "max": 7, + "min": 3, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SIM Failover Timeout", + "details": "Set SIM failover timeout in minutes", + "key": "failovertimer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "lte", + "firmware" + ], + "dataType": { + "default": "true", + "label": { + "off": "Disable", + "on": "Enable" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Firmware Auto SIM", + "details": "Enable/Disable Firmware Auto Sim", + "key": "auto-sim", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Cellular Cedge Controller", + "nameSpace": "http://viptela.com/wwan", + "uniqueKey": "id", + "xmlPath": [ + "controller" + ], + "xmlRootTag": "cellular" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cellular-cedge-gps-controller.json b/gen/models/feature_templates/cellular-cedge-gps-controller.json new file mode 100644 index 00000000..fcda8679 --- /dev/null +++ b/gen/models/feature_templates/cellular-cedge-gps-controller.json @@ -0,0 +1,142 @@ +{ + "fields": [ + { + "dataPath": [ + "gps" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "GPS", + "details": "Enable/disable GPS", + "key": "enable", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps" + ], + "dataType": { + "default": "ms-based", + "type": "enum", + "values": [ + { + "key": "ms-based", + "value": "MS based" + }, + { + "key": "standalone", + "value": "Standalone" + } + ] + }, + "defaultOption": "ignore", + "description": "GPS Mode", + "details": "Select GPS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps", + "nmea-conf" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NMEA", + "details": "Enable/disable NMEA data", + "key": "nmea", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps", + "nmea", + "ip", + "udp" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Source Address", + "details": "Source address", + "key": "source-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps", + "nmea", + "ip", + "udp" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Destination Address", + "details": "Destination address", + "key": "destination-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps", + "nmea", + "ip", + "udp" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Destination Port", + "details": "Destination port", + "key": "destination-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Cellular GPS", + "nameSpace": "http://viptela.com/wwan", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "lte" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cellular-cedge-profile.json b/gen/models/feature_templates/cellular-cedge-profile.json new file mode 100644 index 00000000..25c11099 --- /dev/null +++ b/gen/models/feature_templates/cellular-cedge-profile.json @@ -0,0 +1,154 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Profile ID", + "details": "Set Profile ID", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Access Point Name", + "details": "Set access point name", + "key": "apn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "none", + "value": "none" + }, + { + "key": "pap", + "value": "pap" + }, + { + "key": "chap", + "value": "chap" + }, + { + "key": "pap_chap", + "value": "pap_chap" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication", + "details": "Set authentication type", + "key": "authentication", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "ipv4", + "type": "enum", + "values": [ + { + "key": "ipv4", + "value": "ipv4" + }, + { + "key": "ipv4v6", + "value": "ipv4v6" + }, + { + "key": "ipv6", + "value": "ipv6" + } + ] + }, + "defaultOption": "ignore", + "description": "Packet Data Network Type", + "details": "Set packet data network type", + "key": "pdn-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Profile Username", + "details": "Set the profile username", + "key": "username", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Profile password", + "details": "Set the profile password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No Overwrite", + "details": "No Overwrite", + "key": "no-overwrite", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Cellular Profile", + "nameSpace": "http://viptela.com/wwan", + "parentPath": "", + "uniqueKey": "id", + "xmlPath": [], + "xmlRootTag": "profile" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cellular-gateway-platform.json b/gen/models/feature_templates/cellular-gateway-platform.json new file mode 100644 index 00000000..9ab5c582 --- /dev/null +++ b/gen/models/feature_templates/cellular-gateway-platform.json @@ -0,0 +1,1954 @@ +{ + "fields": [ + { + "dataPath": [ + "timezone" + ], + "dataType": { + "default": "UTC", + "type": "enum", + "values": [ + { + "key": "Europe/Andorra", + "value": "Europe/Andorra" + }, + { + "key": "Asia/Dubai", + "value": "Asia/Dubai" + }, + { + "key": "Asia/Kabul", + "value": "Asia/Kabul" + }, + { + "key": "America/Antigua", + "value": "America/Antigua" + }, + { + "key": "America/Anguilla", + "value": "America/Anguilla" + }, + { + "key": "Europe/Tirane", + "value": "Europe/Tirane" + }, + { + "key": "Asia/Yerevan", + "value": "Asia/Yerevan" + }, + { + "key": "Africa/Luanda", + "value": "Africa/Luanda" + }, + { + "key": "Antarctica/McMurdo", + "value": "Antarctica/McMurdo" + }, + { + "key": "Antarctica/Rothera", + "value": "Antarctica/Rothera" + }, + { + "key": "Antarctica/Palmer", + "value": "Antarctica/Palmer" + }, + { + "key": "Antarctica/Mawson", + "value": "Antarctica/Mawson" + }, + { + "key": "Antarctica/Davis", + "value": "Antarctica/Davis" + }, + { + "key": "Antarctica/Casey", + "value": "Antarctica/Casey" + }, + { + "key": "Antarctica/Vostok", + "value": "Antarctica/Vostok" + }, + { + "key": "Antarctica/DumontDUrville", + "value": "Antarctica/DumontDUrville" + }, + { + "key": "Antarctica/Syowa", + "value": "Antarctica/Syowa" + }, + { + "key": "America/Argentina/Buenos_Aires", + "value": "America/Argentina/Buenos_Aires" + }, + { + "key": "America/Argentina/Cordoba", + "value": "America/Argentina/Cordoba" + }, + { + "key": "America/Argentina/Salta", + "value": "America/Argentina/Salta" + }, + { + "key": "America/Argentina/Jujuy", + "value": "America/Argentina/Jujuy" + }, + { + "key": "America/Argentina/Tucuman", + "value": "America/Argentina/Tucuman" + }, + { + "key": "America/Argentina/Catamarca", + "value": "America/Argentina/Catamarca" + }, + { + "key": "America/Argentina/La_Rioja", + "value": "America/Argentina/La_Rioja" + }, + { + "key": "America/Argentina/San_Juan", + "value": "America/Argentina/San_Juan" + }, + { + "key": "America/Argentina/Mendoza", + "value": "America/Argentina/Mendoza" + }, + { + "key": "America/Argentina/San_Luis", + "value": "America/Argentina/San_Luis" + }, + { + "key": "America/Argentina/Rio_Gallegos", + "value": "America/Argentina/Rio_Gallegos" + }, + { + "key": "America/Argentina/Ushuaia", + "value": "America/Argentina/Ushuaia" + }, + { + "key": "Pacific/Pago_Pago", + "value": "Pacific/Pago_Pago" + }, + { + "key": "Europe/Vienna", + "value": "Europe/Vienna" + }, + { + "key": "Australia/Lord_Howe", + "value": "Australia/Lord_Howe" + }, + { + "key": "Antarctica/Macquarie", + "value": "Antarctica/Macquarie" + }, + { + "key": "Australia/Hobart", + "value": "Australia/Hobart" + }, + { + "key": "Australia/Currie", + "value": "Australia/Currie" + }, + { + "key": "Australia/Melbourne", + "value": "Australia/Melbourne" + }, + { + "key": "Australia/Sydney", + "value": "Australia/Sydney" + }, + { + "key": "Australia/Broken_Hill", + "value": "Australia/Broken_Hill" + }, + { + "key": "Australia/Brisbane", + "value": "Australia/Brisbane" + }, + { + "key": "Australia/Lindeman", + "value": "Australia/Lindeman" + }, + { + "key": "Australia/Adelaide", + "value": "Australia/Adelaide" + }, + { + "key": "Australia/Darwin", + "value": "Australia/Darwin" + }, + { + "key": "Australia/Perth", + "value": "Australia/Perth" + }, + { + "key": "Australia/Eucla", + "value": "Australia/Eucla" + }, + { + "key": "America/Aruba", + "value": "America/Aruba" + }, + { + "key": "Europe/Mariehamn", + "value": "Europe/Mariehamn" + }, + { + "key": "Asia/Baku", + "value": "Asia/Baku" + }, + { + "key": "Europe/Sarajevo", + "value": "Europe/Sarajevo" + }, + { + "key": "America/Barbados", + "value": "America/Barbados" + }, + { + "key": "Asia/Dhaka", + "value": "Asia/Dhaka" + }, + { + "key": "Europe/Brussels", + "value": "Europe/Brussels" + }, + { + "key": "Africa/Ouagadougou", + "value": "Africa/Ouagadougou" + }, + { + "key": "Europe/Sofia", + "value": "Europe/Sofia" + }, + { + "key": "Asia/Bahrain", + "value": "Asia/Bahrain" + }, + { + "key": "Africa/Bujumbura", + "value": "Africa/Bujumbura" + }, + { + "key": "Africa/Porto-Novo", + "value": "Africa/Porto-Novo" + }, + { + "key": "America/St_Barthelemy", + "value": "America/St_Barthelemy" + }, + { + "key": "Atlantic/Bermuda", + "value": "Atlantic/Bermuda" + }, + { + "key": "Asia/Brunei", + "value": "Asia/Brunei" + }, + { + "key": "America/La_Paz", + "value": "America/La_Paz" + }, + { + "key": "America/Kralendijk", + "value": "America/Kralendijk" + }, + { + "key": "America/Noronha", + "value": "America/Noronha" + }, + { + "key": "America/Belem", + "value": "America/Belem" + }, + { + "key": "America/Fortaleza", + "value": "America/Fortaleza" + }, + { + "key": "America/Recife", + "value": "America/Recife" + }, + { + "key": "America/Araguaina", + "value": "America/Araguaina" + }, + { + "key": "America/Maceio", + "value": "America/Maceio" + }, + { + "key": "America/Bahia", + "value": "America/Bahia" + }, + { + "key": "America/Sao_Paulo", + "value": "America/Sao_Paulo" + }, + { + "key": "America/Campo_Grande", + "value": "America/Campo_Grande" + }, + { + "key": "America/Cuiaba", + "value": "America/Cuiaba" + }, + { + "key": "America/Santarem", + "value": "America/Santarem" + }, + { + "key": "America/Porto_Velho", + "value": "America/Porto_Velho" + }, + { + "key": "America/Boa_Vista", + "value": "America/Boa_Vista" + }, + { + "key": "America/Manaus", + "value": "America/Manaus" + }, + { + "key": "America/Eirunepe", + "value": "America/Eirunepe" + }, + { + "key": "America/Rio_Branco", + "value": "America/Rio_Branco" + }, + { + "key": "America/Nassau", + "value": "America/Nassau" + }, + { + "key": "Asia/Thimphu", + "value": "Asia/Thimphu" + }, + { + "key": "Africa/Gaborone", + "value": "Africa/Gaborone" + }, + { + "key": "Europe/Minsk", + "value": "Europe/Minsk" + }, + { + "key": "America/Belize", + "value": "America/Belize" + }, + { + "key": "America/St_Johns", + "value": "America/St_Johns" + }, + { + "key": "America/Halifax", + "value": "America/Halifax" + }, + { + "key": "America/Glace_Bay", + "value": "America/Glace_Bay" + }, + { + "key": "America/Moncton", + "value": "America/Moncton" + }, + { + "key": "America/Goose_Bay", + "value": "America/Goose_Bay" + }, + { + "key": "America/Blanc-Sablon", + "value": "America/Blanc-Sablon" + }, + { + "key": "America/Toronto", + "value": "America/Toronto" + }, + { + "key": "America/Nipigon", + "value": "America/Nipigon" + }, + { + "key": "America/Thunder_Bay", + "value": "America/Thunder_Bay" + }, + { + "key": "America/Iqaluit", + "value": "America/Iqaluit" + }, + { + "key": "America/Pangnirtung", + "value": "America/Pangnirtung" + }, + { + "key": "America/Resolute", + "value": "America/Resolute" + }, + { + "key": "America/Atikokan", + "value": "America/Atikokan" + }, + { + "key": "America/Rankin_Inlet", + "value": "America/Rankin_Inlet" + }, + { + "key": "America/Winnipeg", + "value": "America/Winnipeg" + }, + { + "key": "America/Rainy_River", + "value": "America/Rainy_River" + }, + { + "key": "America/Regina", + "value": "America/Regina" + }, + { + "key": "America/Swift_Current", + "value": "America/Swift_Current" + }, + { + "key": "America/Edmonton", + "value": "America/Edmonton" + }, + { + "key": "America/Cambridge_Bay", + "value": "America/Cambridge_Bay" + }, + { + "key": "America/Yellowknife", + "value": "America/Yellowknife" + }, + { + "key": "America/Inuvik", + "value": "America/Inuvik" + }, + { + "key": "America/Creston", + "value": "America/Creston" + }, + { + "key": "America/Dawson_Creek", + "value": "America/Dawson_Creek" + }, + { + "key": "America/Vancouver", + "value": "America/Vancouver" + }, + { + "key": "America/Whitehorse", + "value": "America/Whitehorse" + }, + { + "key": "America/Dawson", + "value": "America/Dawson" + }, + { + "key": "Indian/Cocos", + "value": "Indian/Cocos" + }, + { + "key": "Africa/Kinshasa", + "value": "Africa/Kinshasa" + }, + { + "key": "Africa/Lubumbashi", + "value": "Africa/Lubumbashi" + }, + { + "key": "Africa/Bangui", + "value": "Africa/Bangui" + }, + { + "key": "Africa/Brazzaville", + "value": "Africa/Brazzaville" + }, + { + "key": "Europe/Zurich", + "value": "Europe/Zurich" + }, + { + "key": "Africa/Abidjan", + "value": "Africa/Abidjan" + }, + { + "key": "Pacific/Rarotonga", + "value": "Pacific/Rarotonga" + }, + { + "key": "America/Santiago", + "value": "America/Santiago" + }, + { + "key": "Pacific/Easter", + "value": "Pacific/Easter" + }, + { + "key": "Africa/Douala", + "value": "Africa/Douala" + }, + { + "key": "Asia/Shanghai", + "value": "Asia/Shanghai" + }, + { + "key": "Asia/Harbin", + "value": "Asia/Harbin" + }, + { + "key": "Asia/Chongqing", + "value": "Asia/Chongqing" + }, + { + "key": "Asia/Urumqi", + "value": "Asia/Urumqi" + }, + { + "key": "Asia/Kashgar", + "value": "Asia/Kashgar" + }, + { + "key": "America/Bogota", + "value": "America/Bogota" + }, + { + "key": "America/Costa_Rica", + "value": "America/Costa_Rica" + }, + { + "key": "America/Havana", + "value": "America/Havana" + }, + { + "key": "Atlantic/Cape_Verde", + "value": "Atlantic/Cape_Verde" + }, + { + "key": "America/Curacao", + "value": "America/Curacao" + }, + { + "key": "Indian/Christmas", + "value": "Indian/Christmas" + }, + { + "key": "Asia/Nicosia", + "value": "Asia/Nicosia" + }, + { + "key": "Europe/Prague", + "value": "Europe/Prague" + }, + { + "key": "Europe/Berlin", + "value": "Europe/Berlin" + }, + { + "key": "Europe/Busingen", + "value": "Europe/Busingen" + }, + { + "key": "Africa/Djibouti", + "value": "Africa/Djibouti" + }, + { + "key": "Europe/Copenhagen", + "value": "Europe/Copenhagen" + }, + { + "key": "America/Dominica", + "value": "America/Dominica" + }, + { + "key": "America/Santo_Domingo", + "value": "America/Santo_Domingo" + }, + { + "key": "Africa/Algiers", + "value": "Africa/Algiers" + }, + { + "key": "America/Guayaquil", + "value": "America/Guayaquil" + }, + { + "key": "Pacific/Galapagos", + "value": "Pacific/Galapagos" + }, + { + "key": "Europe/Tallinn", + "value": "Europe/Tallinn" + }, + { + "key": "Africa/Cairo", + "value": "Africa/Cairo" + }, + { + "key": "Africa/El_Aaiun", + "value": "Africa/El_Aaiun" + }, + { + "key": "Africa/Asmara", + "value": "Africa/Asmara" + }, + { + "key": "Europe/Madrid", + "value": "Europe/Madrid" + }, + { + "key": "Africa/Ceuta", + "value": "Africa/Ceuta" + }, + { + "key": "Atlantic/Canary", + "value": "Atlantic/Canary" + }, + { + "key": "Africa/Addis_Ababa", + "value": "Africa/Addis_Ababa" + }, + { + "key": "Europe/Helsinki", + "value": "Europe/Helsinki" + }, + { + "key": "Pacific/Fiji", + "value": "Pacific/Fiji" + }, + { + "key": "Atlantic/Stanley", + "value": "Atlantic/Stanley" + }, + { + "key": "Pacific/Chuuk", + "value": "Pacific/Chuuk" + }, + { + "key": "Pacific/Pohnpei", + "value": "Pacific/Pohnpei" + }, + { + "key": "Pacific/Kosrae", + "value": "Pacific/Kosrae" + }, + { + "key": "Atlantic/Faroe", + "value": "Atlantic/Faroe" + }, + { + "key": "Europe/Paris", + "value": "Europe/Paris" + }, + { + "key": "Africa/Libreville", + "value": "Africa/Libreville" + }, + { + "key": "Europe/London", + "value": "Europe/London" + }, + { + "key": "America/Grenada", + "value": "America/Grenada" + }, + { + "key": "Asia/Tbilisi", + "value": "Asia/Tbilisi" + }, + { + "key": "America/Cayenne", + "value": "America/Cayenne" + }, + { + "key": "Europe/Guernsey", + "value": "Europe/Guernsey" + }, + { + "key": "Africa/Accra", + "value": "Africa/Accra" + }, + { + "key": "Europe/Gibraltar", + "value": "Europe/Gibraltar" + }, + { + "key": "America/Godthab", + "value": "America/Godthab" + }, + { + "key": "America/Danmarkshavn", + "value": "America/Danmarkshavn" + }, + { + "key": "America/Scoresbysund", + "value": "America/Scoresbysund" + }, + { + "key": "America/Thule", + "value": "America/Thule" + }, + { + "key": "Africa/Banjul", + "value": "Africa/Banjul" + }, + { + "key": "Africa/Conakry", + "value": "Africa/Conakry" + }, + { + "key": "America/Guadeloupe", + "value": "America/Guadeloupe" + }, + { + "key": "Africa/Malabo", + "value": "Africa/Malabo" + }, + { + "key": "Europe/Athens", + "value": "Europe/Athens" + }, + { + "key": "Atlantic/South_Georgia", + "value": "Atlantic/South_Georgia" + }, + { + "key": "America/Guatemala", + "value": "America/Guatemala" + }, + { + "key": "Pacific/Guam", + "value": "Pacific/Guam" + }, + { + "key": "Africa/Bissau", + "value": "Africa/Bissau" + }, + { + "key": "America/Guyana", + "value": "America/Guyana" + }, + { + "key": "Asia/Hong_Kong", + "value": "Asia/Hong_Kong" + }, + { + "key": "America/Tegucigalpa", + "value": "America/Tegucigalpa" + }, + { + "key": "Europe/Zagreb", + "value": "Europe/Zagreb" + }, + { + "key": "America/Port-au-Prince", + "value": "America/Port-au-Prince" + }, + { + "key": "Europe/Budapest", + "value": "Europe/Budapest" + }, + { + "key": "Asia/Jakarta", + "value": "Asia/Jakarta" + }, + { + "key": "Asia/Pontianak", + "value": "Asia/Pontianak" + }, + { + "key": "Asia/Makassar", + "value": "Asia/Makassar" + }, + { + "key": "Asia/Jayapura", + "value": "Asia/Jayapura" + }, + { + "key": "Europe/Dublin", + "value": "Europe/Dublin" + }, + { + "key": "Asia/Jerusalem", + "value": "Asia/Jerusalem" + }, + { + "key": "Europe/Isle_of_Man", + "value": "Europe/Isle_of_Man" + }, + { + "key": "Asia/Kolkata", + "value": "Asia/Kolkata" + }, + { + "key": "Indian/Chagos", + "value": "Indian/Chagos" + }, + { + "key": "Asia/Baghdad", + "value": "Asia/Baghdad" + }, + { + "key": "Asia/Tehran", + "value": "Asia/Tehran" + }, + { + "key": "Atlantic/Reykjavik", + "value": "Atlantic/Reykjavik" + }, + { + "key": "Europe/Rome", + "value": "Europe/Rome" + }, + { + "key": "Europe/Jersey", + "value": "Europe/Jersey" + }, + { + "key": "America/Jamaica", + "value": "America/Jamaica" + }, + { + "key": "Asia/Amman", + "value": "Asia/Amman" + }, + { + "key": "Asia/Tokyo", + "value": "Asia/Tokyo" + }, + { + "key": "Africa/Nairobi", + "value": "Africa/Nairobi" + }, + { + "key": "Asia/Bishkek", + "value": "Asia/Bishkek" + }, + { + "key": "Asia/Phnom_Penh", + "value": "Asia/Phnom_Penh" + }, + { + "key": "Pacific/Tarawa", + "value": "Pacific/Tarawa" + }, + { + "key": "Pacific/Enderbury", + "value": "Pacific/Enderbury" + }, + { + "key": "Pacific/Kiritimati", + "value": "Pacific/Kiritimati" + }, + { + "key": "Indian/Comoro", + "value": "Indian/Comoro" + }, + { + "key": "America/St_Kitts", + "value": "America/St_Kitts" + }, + { + "key": "Asia/Pyongyang", + "value": "Asia/Pyongyang" + }, + { + "key": "Asia/Seoul", + "value": "Asia/Seoul" + }, + { + "key": "Asia/Kuwait", + "value": "Asia/Kuwait" + }, + { + "key": "America/Cayman", + "value": "America/Cayman" + }, + { + "key": "Asia/Almaty", + "value": "Asia/Almaty" + }, + { + "key": "Asia/Qyzylorda", + "value": "Asia/Qyzylorda" + }, + { + "key": "Asia/Aqtobe", + "value": "Asia/Aqtobe" + }, + { + "key": "Asia/Aqtau", + "value": "Asia/Aqtau" + }, + { + "key": "Asia/Oral", + "value": "Asia/Oral" + }, + { + "key": "Asia/Vientiane", + "value": "Asia/Vientiane" + }, + { + "key": "Asia/Beirut", + "value": "Asia/Beirut" + }, + { + "key": "America/St_Lucia", + "value": "America/St_Lucia" + }, + { + "key": "Europe/Vaduz", + "value": "Europe/Vaduz" + }, + { + "key": "Asia/Colombo", + "value": "Asia/Colombo" + }, + { + "key": "Africa/Monrovia", + "value": "Africa/Monrovia" + }, + { + "key": "Africa/Maseru", + "value": "Africa/Maseru" + }, + { + "key": "Europe/Vilnius", + "value": "Europe/Vilnius" + }, + { + "key": "Europe/Luxembourg", + "value": "Europe/Luxembourg" + }, + { + "key": "Europe/Riga", + "value": "Europe/Riga" + }, + { + "key": "Africa/Tripoli", + "value": "Africa/Tripoli" + }, + { + "key": "Africa/Casablanca", + "value": "Africa/Casablanca" + }, + { + "key": "Europe/Monaco", + "value": "Europe/Monaco" + }, + { + "key": "Europe/Chisinau", + "value": "Europe/Chisinau" + }, + { + "key": "Europe/Podgorica", + "value": "Europe/Podgorica" + }, + { + "key": "America/Marigot", + "value": "America/Marigot" + }, + { + "key": "Indian/Antananarivo", + "value": "Indian/Antananarivo" + }, + { + "key": "Pacific/Majuro", + "value": "Pacific/Majuro" + }, + { + "key": "Pacific/Kwajalein", + "value": "Pacific/Kwajalein" + }, + { + "key": "Europe/Skopje", + "value": "Europe/Skopje" + }, + { + "key": "Africa/Bamako", + "value": "Africa/Bamako" + }, + { + "key": "Asia/Rangoon", + "value": "Asia/Rangoon" + }, + { + "key": "Asia/Ulaanbaatar", + "value": "Asia/Ulaanbaatar" + }, + { + "key": "Asia/Hovd", + "value": "Asia/Hovd" + }, + { + "key": "Asia/Choibalsan", + "value": "Asia/Choibalsan" + }, + { + "key": "Asia/Macau", + "value": "Asia/Macau" + }, + { + "key": "Pacific/Saipan", + "value": "Pacific/Saipan" + }, + { + "key": "America/Martinique", + "value": "America/Martinique" + }, + { + "key": "Africa/Nouakchott", + "value": "Africa/Nouakchott" + }, + { + "key": "America/Montserrat", + "value": "America/Montserrat" + }, + { + "key": "Europe/Malta", + "value": "Europe/Malta" + }, + { + "key": "Indian/Mauritius", + "value": "Indian/Mauritius" + }, + { + "key": "Indian/Maldives", + "value": "Indian/Maldives" + }, + { + "key": "Africa/Blantyre", + "value": "Africa/Blantyre" + }, + { + "key": "America/Mexico_City", + "value": "America/Mexico_City" + }, + { + "key": "America/Cancun", + "value": "America/Cancun" + }, + { + "key": "America/Merida", + "value": "America/Merida" + }, + { + "key": "America/Monterrey", + "value": "America/Monterrey" + }, + { + "key": "America/Matamoros", + "value": "America/Matamoros" + }, + { + "key": "America/Mazatlan", + "value": "America/Mazatlan" + }, + { + "key": "America/Chihuahua", + "value": "America/Chihuahua" + }, + { + "key": "America/Ojinaga", + "value": "America/Ojinaga" + }, + { + "key": "America/Hermosillo", + "value": "America/Hermosillo" + }, + { + "key": "America/Tijuana", + "value": "America/Tijuana" + }, + { + "key": "America/Santa_Isabel", + "value": "America/Santa_Isabel" + }, + { + "key": "America/Bahia_Banderas", + "value": "America/Bahia_Banderas" + }, + { + "key": "Asia/Kuala_Lumpur", + "value": "Asia/Kuala_Lumpur" + }, + { + "key": "Asia/Kuching", + "value": "Asia/Kuching" + }, + { + "key": "Africa/Maputo", + "value": "Africa/Maputo" + }, + { + "key": "Africa/Windhoek", + "value": "Africa/Windhoek" + }, + { + "key": "Pacific/Noumea", + "value": "Pacific/Noumea" + }, + { + "key": "Africa/Niamey", + "value": "Africa/Niamey" + }, + { + "key": "Pacific/Norfolk", + "value": "Pacific/Norfolk" + }, + { + "key": "Africa/Lagos", + "value": "Africa/Lagos" + }, + { + "key": "America/Managua", + "value": "America/Managua" + }, + { + "key": "Europe/Amsterdam", + "value": "Europe/Amsterdam" + }, + { + "key": "Europe/Oslo", + "value": "Europe/Oslo" + }, + { + "key": "Asia/Kathmandu", + "value": "Asia/Kathmandu" + }, + { + "key": "Pacific/Nauru", + "value": "Pacific/Nauru" + }, + { + "key": "Pacific/Niue", + "value": "Pacific/Niue" + }, + { + "key": "Pacific/Auckland", + "value": "Pacific/Auckland" + }, + { + "key": "Pacific/Chatham", + "value": "Pacific/Chatham" + }, + { + "key": "Asia/Muscat", + "value": "Asia/Muscat" + }, + { + "key": "America/Panama", + "value": "America/Panama" + }, + { + "key": "America/Lima", + "value": "America/Lima" + }, + { + "key": "Pacific/Tahiti", + "value": "Pacific/Tahiti" + }, + { + "key": "Pacific/Marquesas", + "value": "Pacific/Marquesas" + }, + { + "key": "Pacific/Gambier", + "value": "Pacific/Gambier" + }, + { + "key": "Pacific/Port_Moresby", + "value": "Pacific/Port_Moresby" + }, + { + "key": "Asia/Manila", + "value": "Asia/Manila" + }, + { + "key": "Asia/Karachi", + "value": "Asia/Karachi" + }, + { + "key": "Europe/Warsaw", + "value": "Europe/Warsaw" + }, + { + "key": "America/Miquelon", + "value": "America/Miquelon" + }, + { + "key": "Pacific/Pitcairn", + "value": "Pacific/Pitcairn" + }, + { + "key": "America/Puerto_Rico", + "value": "America/Puerto_Rico" + }, + { + "key": "Asia/Gaza", + "value": "Asia/Gaza" + }, + { + "key": "Asia/Hebron", + "value": "Asia/Hebron" + }, + { + "key": "Europe/Lisbon", + "value": "Europe/Lisbon" + }, + { + "key": "Atlantic/Madeira", + "value": "Atlantic/Madeira" + }, + { + "key": "Atlantic/Azores", + "value": "Atlantic/Azores" + }, + { + "key": "Pacific/Palau", + "value": "Pacific/Palau" + }, + { + "key": "America/Asuncion", + "value": "America/Asuncion" + }, + { + "key": "Asia/Qatar", + "value": "Asia/Qatar" + }, + { + "key": "Indian/Reunion", + "value": "Indian/Reunion" + }, + { + "key": "Europe/Bucharest", + "value": "Europe/Bucharest" + }, + { + "key": "Europe/Belgrade", + "value": "Europe/Belgrade" + }, + { + "key": "Europe/Kaliningrad", + "value": "Europe/Kaliningrad" + }, + { + "key": "Europe/Moscow", + "value": "Europe/Moscow" + }, + { + "key": "Europe/Volgograd", + "value": "Europe/Volgograd" + }, + { + "key": "Europe/Samara", + "value": "Europe/Samara" + }, + { + "key": "Asia/Yekaterinburg", + "value": "Asia/Yekaterinburg" + }, + { + "key": "Asia/Omsk", + "value": "Asia/Omsk" + }, + { + "key": "Asia/Novosibirsk", + "value": "Asia/Novosibirsk" + }, + { + "key": "Asia/Novokuznetsk", + "value": "Asia/Novokuznetsk" + }, + { + "key": "Asia/Krasnoyarsk", + "value": "Asia/Krasnoyarsk" + }, + { + "key": "Asia/Irkutsk", + "value": "Asia/Irkutsk" + }, + { + "key": "Asia/Yakutsk", + "value": "Asia/Yakutsk" + }, + { + "key": "Asia/Khandyga", + "value": "Asia/Khandyga" + }, + { + "key": "Asia/Vladivostok", + "value": "Asia/Vladivostok" + }, + { + "key": "Asia/Sakhalin", + "value": "Asia/Sakhalin" + }, + { + "key": "Asia/Ust-Nera", + "value": "Asia/Ust-Nera" + }, + { + "key": "Asia/Magadan", + "value": "Asia/Magadan" + }, + { + "key": "Asia/Kamchatka", + "value": "Asia/Kamchatka" + }, + { + "key": "Asia/Anadyr", + "value": "Asia/Anadyr" + }, + { + "key": "Africa/Kigali", + "value": "Africa/Kigali" + }, + { + "key": "Asia/Riyadh", + "value": "Asia/Riyadh" + }, + { + "key": "Pacific/Guadalcanal", + "value": "Pacific/Guadalcanal" + }, + { + "key": "Indian/Mahe", + "value": "Indian/Mahe" + }, + { + "key": "Africa/Khartoum", + "value": "Africa/Khartoum" + }, + { + "key": "Europe/Stockholm", + "value": "Europe/Stockholm" + }, + { + "key": "Asia/Singapore", + "value": "Asia/Singapore" + }, + { + "key": "Atlantic/St_Helena", + "value": "Atlantic/St_Helena" + }, + { + "key": "Europe/Ljubljana", + "value": "Europe/Ljubljana" + }, + { + "key": "Arctic/Longyearbyen", + "value": "Arctic/Longyearbyen" + }, + { + "key": "Europe/Bratislava", + "value": "Europe/Bratislava" + }, + { + "key": "Africa/Freetown", + "value": "Africa/Freetown" + }, + { + "key": "Europe/San_Marino", + "value": "Europe/San_Marino" + }, + { + "key": "Africa/Dakar", + "value": "Africa/Dakar" + }, + { + "key": "Africa/Mogadishu", + "value": "Africa/Mogadishu" + }, + { + "key": "America/Paramaribo", + "value": "America/Paramaribo" + }, + { + "key": "Africa/Juba", + "value": "Africa/Juba" + }, + { + "key": "Africa/Sao_Tome", + "value": "Africa/Sao_Tome" + }, + { + "key": "America/El_Salvador", + "value": "America/El_Salvador" + }, + { + "key": "America/Lower_Princes", + "value": "America/Lower_Princes" + }, + { + "key": "Asia/Damascus", + "value": "Asia/Damascus" + }, + { + "key": "Africa/Mbabane", + "value": "Africa/Mbabane" + }, + { + "key": "America/Grand_Turk", + "value": "America/Grand_Turk" + }, + { + "key": "Africa/Ndjamena", + "value": "Africa/Ndjamena" + }, + { + "key": "Indian/Kerguelen", + "value": "Indian/Kerguelen" + }, + { + "key": "Africa/Lome", + "value": "Africa/Lome" + }, + { + "key": "Asia/Bangkok", + "value": "Asia/Bangkok" + }, + { + "key": "Asia/Dushanbe", + "value": "Asia/Dushanbe" + }, + { + "key": "Pacific/Fakaofo", + "value": "Pacific/Fakaofo" + }, + { + "key": "Asia/Dili", + "value": "Asia/Dili" + }, + { + "key": "Asia/Ashgabat", + "value": "Asia/Ashgabat" + }, + { + "key": "Africa/Tunis", + "value": "Africa/Tunis" + }, + { + "key": "Pacific/Tongatapu", + "value": "Pacific/Tongatapu" + }, + { + "key": "Europe/Istanbul", + "value": "Europe/Istanbul" + }, + { + "key": "America/Port_of_Spain", + "value": "America/Port_of_Spain" + }, + { + "key": "Pacific/Funafuti", + "value": "Pacific/Funafuti" + }, + { + "key": "Asia/Taipei", + "value": "Asia/Taipei" + }, + { + "key": "Africa/Dar_es_Salaam", + "value": "Africa/Dar_es_Salaam" + }, + { + "key": "Europe/Kiev", + "value": "Europe/Kiev" + }, + { + "key": "Europe/Uzhgorod", + "value": "Europe/Uzhgorod" + }, + { + "key": "Europe/Zaporozhye", + "value": "Europe/Zaporozhye" + }, + { + "key": "Europe/Simferopol", + "value": "Europe/Simferopol" + }, + { + "key": "Africa/Kampala", + "value": "Africa/Kampala" + }, + { + "key": "Pacific/Johnston", + "value": "Pacific/Johnston" + }, + { + "key": "Pacific/Midway", + "value": "Pacific/Midway" + }, + { + "key": "Pacific/Wake", + "value": "Pacific/Wake" + }, + { + "key": "America/New_York", + "value": "America/New_York" + }, + { + "key": "America/Detroit", + "value": "America/Detroit" + }, + { + "key": "America/Kentucky/Louisville", + "value": "America/Kentucky/Louisville" + }, + { + "key": "America/Kentucky/Monticello", + "value": "America/Kentucky/Monticello" + }, + { + "key": "America/Indiana/Indianapolis", + "value": "America/Indiana/Indianapolis" + }, + { + "key": "America/Indiana/Vincennes", + "value": "America/Indiana/Vincennes" + }, + { + "key": "America/Indiana/Winamac", + "value": "America/Indiana/Winamac" + }, + { + "key": "America/Indiana/Marengo", + "value": "America/Indiana/Marengo" + }, + { + "key": "America/Indiana/Petersburg", + "value": "America/Indiana/Petersburg" + }, + { + "key": "America/Indiana/Vevay", + "value": "America/Indiana/Vevay" + }, + { + "key": "America/Chicago", + "value": "America/Chicago" + }, + { + "key": "America/Indiana/Tell_City", + "value": "America/Indiana/Tell_City" + }, + { + "key": "America/Indiana/Knox", + "value": "America/Indiana/Knox" + }, + { + "key": "America/Menominee", + "value": "America/Menominee" + }, + { + "key": "America/North_Dakota/Center", + "value": "America/North_Dakota/Center" + }, + { + "key": "America/North_Dakota/New_Salem", + "value": "America/North_Dakota/New_Salem" + }, + { + "key": "America/North_Dakota/Beulah", + "value": "America/North_Dakota/Beulah" + }, + { + "key": "America/Denver", + "value": "America/Denver" + }, + { + "key": "America/Boise", + "value": "America/Boise" + }, + { + "key": "America/Phoenix", + "value": "America/Phoenix" + }, + { + "key": "America/Los_Angeles", + "value": "America/Los_Angeles" + }, + { + "key": "America/Anchorage", + "value": "America/Anchorage" + }, + { + "key": "America/Juneau", + "value": "America/Juneau" + }, + { + "key": "America/Sitka", + "value": "America/Sitka" + }, + { + "key": "America/Yakutat", + "value": "America/Yakutat" + }, + { + "key": "America/Nome", + "value": "America/Nome" + }, + { + "key": "America/Adak", + "value": "America/Adak" + }, + { + "key": "America/Metlakatla", + "value": "America/Metlakatla" + }, + { + "key": "Pacific/Honolulu", + "value": "Pacific/Honolulu" + }, + { + "key": "America/Montevideo", + "value": "America/Montevideo" + }, + { + "key": "Asia/Samarkand", + "value": "Asia/Samarkand" + }, + { + "key": "Asia/Tashkent", + "value": "Asia/Tashkent" + }, + { + "key": "Europe/Vatican", + "value": "Europe/Vatican" + }, + { + "key": "America/St_Vincent", + "value": "America/St_Vincent" + }, + { + "key": "America/Caracas", + "value": "America/Caracas" + }, + { + "key": "America/Tortola", + "value": "America/Tortola" + }, + { + "key": "America/St_Thomas", + "value": "America/St_Thomas" + }, + { + "key": "Asia/Ho_Chi_Minh", + "value": "Asia/Ho_Chi_Minh" + }, + { + "key": "Pacific/Efate", + "value": "Pacific/Efate" + }, + { + "key": "Pacific/Wallis", + "value": "Pacific/Wallis" + }, + { + "key": "Pacific/Apia", + "value": "Pacific/Apia" + }, + { + "key": "Asia/Aden", + "value": "Asia/Aden" + }, + { + "key": "Indian/Mayotte", + "value": "Indian/Mayotte" + }, + { + "key": "Africa/Johannesburg", + "value": "Africa/Johannesburg" + }, + { + "key": "Africa/Lusaka", + "value": "Africa/Lusaka" + }, + { + "key": "Africa/Harare", + "value": "Africa/Harare" + }, + { + "key": "UTC", + "value": "UTC" + } + ] + }, + "defaultOption": "ignore", + "description": "Time Zone", + "details": "Time Zone", + "key": "time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Management Interface", + "details": "Management Interface", + "key": "interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "ignore", + "description": "Admin-Password", + "details": "Admin-Password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [ + "server" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "NTP Server", + "details": "IP Address / Hostname", + "key": "name", + "maxElements": 1, + "minElements": 1, + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "NTP Server", + "details": "NTP Server", + "key": "ntp", + "maxElements": 4, + "minElements": 0, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "dnsHostName" + }, + "defaultOption": "constant", + "description": "Hostname", + "details": "Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 8, + "type": "ip" + }, + "defaultOption": "constant", + "description": "List of IP", + "details": "List of IP", + "key": "ip", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "DNS Mapping", + "details": "DNS Mapping", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "hostname" + ] + }, + { + "dataPath": [ + "controller", + "cellular" + ], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "ipv4-permit", + "value": "V4 only" + }, + { + "key": "ipv6-permit", + "value": "V6 only" + }, + { + "key": "ipv4v6-permit", + "value": "V4 and V6" + }, + { + "key": "none", + "value": "None" + } + ] + }, + "defaultOption": "ignore", + "description": "IP-Src-Violation", + "details": "IP-Src-Violation", + "key": "ip-source-violation-action", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "controller", + "cellular" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Auto-SIM", + "details": "Auto-SIM", + "key": "auto-sim", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "controller", + "cellular", + "sim", + "sim-primary" + ], + "dataType": { + "default": "0", + "type": "enum", + "values": [ + { + "key": "0", + "value": "SIM1" + }, + { + "key": "1", + "value": "SIM2" + } + ] + }, + "defaultOption": "ignore", + "description": "Primary SIM Slot", + "details": "Primary SIM slot", + "key": "primary-slot", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "controller", + "cellular", + "sim", + "sim-primary" + ], + "dataType": { + "default": 3, + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Failover-Timer (minutes)", + "details": "Failover-Timer (minutes)", + "key": "failovertimer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "controller", + "cellular", + "sim", + "sim-primary" + ], + "dataType": { + "default": 5, + "max": 10, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Max-Retry", + "details": "Max-Retry", + "key": "max-retry", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Cellular Gateway Platform", + "nameSpace": "http://cisco.com/ns/yang/cwan-gw-system", + "xmlPath": [], + "xmlRootTag": "cg-platform" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cellular-gateway-profile.json b/gen/models/feature_templates/cellular-gateway-profile.json new file mode 100644 index 00000000..fd600451 --- /dev/null +++ b/gen/models/feature_templates/cellular-gateway-profile.json @@ -0,0 +1,228 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "0", + "type": "enum", + "values": [ + { + "key": "0", + "value": "SIM1" + }, + { + "key": "1", + "value": "SIM2" + } + ] + }, + "defaultOption": "notIgnore", + "description": "SIM", + "details": "SIM slot #", + "key": "sim-slot-number", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Profile ID", + "details": "Set Profile ID", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Access Point Name", + "details": "Set access point name", + "key": "apn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "ipv4", + "type": "enum", + "values": [ + { + "key": "IPv4", + "value": "IPv4" + }, + { + "key": "IPv4v6", + "value": "IPv4v6" + }, + { + "key": "IPv6", + "value": "IPv6" + } + ] + }, + "defaultOption": "ignore", + "description": "Packet Data Network Type", + "details": "Set packet data network type", + "key": "pdn-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "none", + "value": "none" + }, + { + "key": "pap", + "value": "pap" + }, + { + "key": "chap", + "value": "chap" + }, + { + "key": "pap_or_chap", + "value": "pap_or_chap" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication", + "details": "Set authentication type", + "key": "authentication", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Profile Username", + "details": "Set the profile username", + "key": "username", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Profile password", + "details": "Set the profile password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Profile", + "details": "Profile", + "key": "profile", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "id" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "_blank", + "value": "-- Choose --" + } + ] + }, + "defaultOption": "ignore", + "description": "Attach Profile", + "details": "Profile to be associated", + "key": "attach-profile", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "_blank", + "value": "-- Choose --" + } + ] + }, + "defaultOption": "ignore", + "description": "Cellular 1/1 Profile", + "details": "Profile to be associated", + "key": "cellular-profile", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "name": "Cellular Gateway Profile", + "nameSpace": "http://cisco.com/ns/yang/cwan-gw-cellular-controller-config", + "uniqueKey": "sim-slot-number", + "xmlPath": [ + "controller", + "cellular", + "sim" + ], + "xmlRootTag": "slot" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cellular-profile.json b/gen/models/feature_templates/cellular-profile.json new file mode 100644 index 00000000..643030c0 --- /dev/null +++ b/gen/models/feature_templates/cellular-profile.json @@ -0,0 +1,250 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Profile ID", + "details": "Set Profile ID", + "key": "profile-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Access Point Name", + "details": "Set access point name", + "key": "apn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "default": "None", + "type": "enum", + "values": [ + { + "key": "None", + "value": "None" + }, + { + "key": "PAP", + "value": "PAP" + }, + { + "key": "CHAP", + "value": "CHAP" + }, + { + "key": "PAP/CHAP", + "value": "PAP/CHAP" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication", + "details": "Set authentication type", + "key": "auth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Set IP address", + "key": "ip-addr", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "maxLength": 14, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Profile Name", + "details": "Set profile name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv4", + "value": "ipv4" + }, + { + "key": "ipv6", + "value": "IPv6" + }, + { + "key": "ipv46", + "value": "IPv46" + } + ] + }, + "defaultOption": "ignore", + "description": "Packet Data Network Type", + "details": "Set packet data network type", + "key": "pdn-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "maxLength": 129, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Profile Username", + "details": "Set the profile username", + "key": "user-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Profile Password", + "details": "Set the profile password", + "key": "user-pass", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Primary DNS Address", + "details": "Set the address of the primary DNS server", + "key": "primary-dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "profile" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Secondary DNS Address", + "details": "Set the address of the secondary DNS server", + "key": "secondary-dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Cellular Profile", + "nameSpace": "http://viptela.com/wwan", + "uniqueKey": "if-name", + "xmlPath": [ + "cellular" + ], + "xmlRootTag": "cellular-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_banner.json b/gen/models/feature_templates/cisco_banner.json new file mode 100644 index 00000000..ff3eefdc --- /dev/null +++ b/gen/models/feature_templates/cisco_banner.json @@ -0,0 +1,44 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Login Banner", + "details": "Set message to display before login prompt", + "key": "login", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "MOTD Banner", + "details": "Set message to display after a user logs in", + "key": "motd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cisco_banner", + "nameSpace": "http://viptela.com/system", + "xmlPath": [], + "xmlRootTag": "banner" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_bfd.json b/gen/models/feature_templates/cisco_bfd.json new file mode 100644 index 00000000..f81fd3e0 --- /dev/null +++ b/gen/models/feature_templates/cisco_bfd.json @@ -0,0 +1,266 @@ +{ + "fields": [ + { + "dataPath": [ + "app-route" + ], + "dataType": { + "default": 6, + "max": 6, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Set the number of polling intervals used to determine tunnel SLA class", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "app-route" + ], + "dataType": { + "default": 600000, + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Poll Interval (milliseconds)", + "details": "Set how often BFD polls tunnels to collect packet latency, loss, and statistics", + "key": "poll-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 48, + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default DSCP value for BFD packets", + "details": "Set default DSCP value for BFD packets", + "key": "default-dscp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "default", + "value": "Default" + }, + { + "key": "mpls", + "value": "MPLS" + }, + { + "key": "metro-ethernet", + "value": "Metro Ethernet" + }, + { + "key": "biz-internet", + "value": "Biz Internet" + }, + { + "key": "public-internet", + "value": "Public Internet" + }, + { + "key": "lte", + "value": "LTE" + }, + { + "key": "3g", + "value": "3G" + }, + { + "key": "red", + "value": "Red" + }, + { + "key": "green", + "value": "Green" + }, + { + "key": "blue", + "value": "Blue" + }, + { + "key": "gold", + "value": "Gold" + }, + { + "key": "silver", + "value": "Silver" + }, + { + "key": "bronze", + "value": "Bronze" + }, + { + "key": "custom1", + "value": "Custom 1" + }, + { + "key": "custom2", + "value": "Custom 2" + }, + { + "key": "custom3", + "value": "Custom 3" + }, + { + "key": "private1", + "value": "Private 1" + }, + { + "key": "private2", + "value": "Private 2" + }, + { + "key": "private3", + "value": "Private 3" + }, + { + "key": "private4", + "value": "Private 4" + }, + { + "key": "private5", + "value": "Private 5" + }, + { + "key": "private6", + "value": "Private 6" + } + ] + }, + "defaultOption": "constant", + "description": "Color", + "details": "Set color that identifies the WAN transport tunnel", + "key": "color", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1000, + "max": 300000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (milliseconds)", + "details": "Set how often BFD sends Hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 7, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Set how many Hello packet intervals to wait before declaring that a tunnel has failed", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Path MTU Discovery", + "details": "Control automatic path MTU discovery", + "key": "pmtu-discovery", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 48, + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "BFD Default DSCP value for tloc color", + "details": "Set BFD Default DSCP value for tloc color", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Color", + "details": "Set color that identifies the WAN transport tunnel", + "key": "color", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "color" + ] + } + ], + "name": "cisco_bfd", + "nameSpace": "http://viptela.com/bfd", + "xmlPath": [], + "xmlRootTag": "bfd" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_bgp.json b/gen/models/feature_templates/cisco_bgp.json new file mode 100644 index 00000000..eead3957 --- /dev/null +++ b/gen/models/feature_templates/cisco_bgp.json @@ -0,0 +1,1935 @@ +{ + "fields": [ + { + "dataPath": [ + "bgp" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "variable", + "description": "AS Number", + "details": "Set autonomous system number <1..4294967295> or ", + "key": "as-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable BGP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Router ID", + "details": "Configure BGP router identifier", + "key": "router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Propagate AS Path", + "details": "Propagate AS Path ", + "key": "propagate-aspath", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Propagate Community", + "details": "Propagate Community", + "key": "propagate-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65527, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN ID for IPv4", + "details": "VPN ID for IPv4", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "asn-ip", + "details": "asn-ip", + "key": "asn-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Export Target-VPN community for IPV4", + "details": "Export Target-VPN community for IPV4", + "key": "export", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "asn-ip" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "asn-ip", + "details": "asn-ip", + "key": "asn-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Import Target-VPN community for IPV4", + "details": "Import Target-VPN community for IPV4", + "key": "import", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "asn-ip" + ] + } + ], + "dataPath": [ + "bgp", + "target" + ], + "defaultOption": "constant", + "description": "Router Target for IPV4", + "details": "Router Target for IPV4", + "key": "route-target-ipv4", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "vpn-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65527, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN ID for IPv6", + "details": "VPN ID for IPv6", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "asn-ip", + "details": "asn-ip", + "key": "asn-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Export Target-VPN community for IPV6", + "details": "Export Target-VPN community for IPV6", + "key": "export", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "asn-ip" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "asn-ip", + "details": "asn-ip", + "key": "asn-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Import Target-VPN community for IPV6", + "details": "Import Target-VPN community for IPV6", + "key": "import", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "asn-ip" + ] + } + ], + "dataPath": [ + "bgp", + "target" + ], + "defaultOption": "constant", + "description": "Router Target for IPV6", + "details": "Router Target for IPV6", + "key": "route-target-ipv6", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "vpn-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Interface Name", + "details": "Interface Name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "MPLS BGP Interface", + "details": "MPLS BGP Interface", + "key": "mpls-interface", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "if-name" + ] + }, + { + "dataPath": [ + "bgp", + "distance" + ], + "dataType": { + "default": 20, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "External Routes Distance", + "details": "Set administrative distance for external BGP routes", + "key": "external", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "distance" + ], + "dataType": { + "default": 200, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Internal Routes Distance", + "details": "Set administrative distance for internal BGP routes", + "key": "internal", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "distance" + ], + "dataType": { + "default": 20, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Local Routes Distance", + "details": "Set administrative distance for local BGP routes", + "key": "local", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "timers" + ], + "dataType": { + "default": 60, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Keepalive (seconds)", + "details": "Set how often keepalive messages are sent to BGP peer", + "key": "keepalive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "timers" + ], + "dataType": { + "default": 180, + "max": 65535, + "min": 0, + "type": "holdTime" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set the interval when BGP considers a neighbor to be down", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "med" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Compare MED", + "details": "Compare MEDs from all ASs when selecting active BGP paths", + "key": "always-compare", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "med" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Deterministic MED", + "details": "Compare MEDs from all routes from same AS when selecting active BGP paths", + "key": "deterministic", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "med" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Missing MED as Worst", + "details": "If path has no MED, consider it to be worst path when selecting active BGP paths", + "key": "missing-as-worst", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Compare Router ID", + "details": "Compare router IDs when selecting active BGP paths", + "key": "compare-router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bgp", + "best-path", + "as-path" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Multipath Relax", + "details": "Ignore AS for multipath selection", + "key": "multipath-relax", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv4-unicast", + "value": "ipv4-unicast" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set BGP address family", + "key": "family-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Aggregate Prefix", + "details": "Configure the prefixes to aggregate", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "AS Set Path", + "details": "Set AS set path information", + "key": "as-set", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Summary Only", + "details": "Filter out more specific routes from updates", + "key": "summary-only", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Aggregate Prefixes ", + "details": "Aggregate prefixes in specific range", + "key": "aggregate-address", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "IPv6 Aggregate Prefix", + "details": "Configure the IPv6 prefixes to aggregate", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "AS Set Path", + "details": "Set AS set path information", + "key": "as-set", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Summary Only", + "details": "Filter out more specific routes from updates", + "key": "summary-only", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IPv6 Aggregate Prefixes ", + "details": "IPv6 Aggregate prefixes in specific range", + "key": "ipv6-aggregate-address", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Network Prefix", + "details": "Configure the prefixes for BGP to announce", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Network", + "details": "Configure the networks for BGP to advertise", + "key": "network", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Network Prefix", + "details": "Configure the prefixes for BGP to announce", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Network", + "details": "Configure the networks for BGP to advertise", + "key": "ipv6-network", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "dataPath": [ + "maximum-paths" + ], + "dataType": { + "max": 32, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Paths", + "details": "Set maximum number of parallel IBGP paths for multipath load sharing", + "key": "paths", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "default-information" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Originate", + "details": "BGP Default Information Originate", + "key": "originate", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "table-map" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Policy Name", + "details": "Map external entry attributes into routing table", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "table-map" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Filter", + "details": "Filter", + "key": "filter", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "ospf", + "value": "ospf" + }, + { + "key": "ospfv3", + "value": "ospfv3" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "nat", + "value": "nat" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol to redistribute routes from", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Configure policy to apply to prefixes received from BGP neighbor", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes into BGP", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set BGP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "family-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set neighbor address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable a BGP neighbor", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "remoteAS" + }, + "defaultOption": "variable", + "description": "Remote AS", + "details": "Set remote autonomous system number", + "key": "remote-as", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Keepalive Time (seconds)", + "details": "Set how often to advertise keepalive messages to BGP peer", + "key": "keepalive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "holdTime" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait since receiving a keepalive message to consider BGP peer unavailable", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "update-source" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface Name", + "details": "Set IP address of interface for TCP connection to BGP neighbor", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Next-Hop Self", + "details": "Set router to be next hop for routes advertised to neighbor", + "key": "next-hop-self", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Community", + "details": "Send community attribute", + "key": "send-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Extended Community", + "details": "Send extended community attribute", + "key": "send-ext-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EBGP Multihop", + "details": "Set TTL value for peers that are not directly connected", + "key": "ebgp-multihop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Password", + "details": "Set MD5 password on TCP connection with BGP peer", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Label", + "details": "Send label", + "key": "send-label", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Explicit NULL", + "details": "Send label", + "key": "send-label-explicit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "As Override", + "details": "As Override", + "key": "as-override", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "allowas-in" + ], + "dataType": { + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "As Number", + "details": "As Number", + "key": "as-number", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv4-unicast", + "value": "ipv4-unicast" + }, + { + "key": "vpnv4-unicast", + "value": "vpnv4-unicast" + }, + { + "key": "vpnv6-unicast", + "value": "vpnv6-unicast" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set BGP address family", + "key": "family-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Number of Prefixes", + "details": "Set maximum number of prefixes accepted from BGP peer", + "key": "prefix-num", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold (percentage)", + "details": "Set threshold at which to generate a warning message", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Restart Interval (minutes)", + "details": "Set when to restart BGP connection if threshold is exceeded", + "key": "restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Warning Only", + "details": "Display only a warning message when threshold is exceeded", + "key": "warning-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Set direction for applying route policy", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policy Name", + "details": "Configure name of route policy", + "key": "pol-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Select route policy to apply to prefixes received from BGP neighbor", + "key": "route-policy", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set BGP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "family-type" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "Neighbor", + "details": "Set BGP neighbors", + "key": "neighbor", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "IPv6 Address", + "details": "Set neighbor address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable a BGP neighbor", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "remoteAS" + }, + "defaultOption": "variable", + "description": "Remote AS", + "details": "Set remote autonomous system number", + "key": "remote-as", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Keepalive Time (seconds)", + "details": "Set how often to advertise keepalive messages to BGP peer", + "key": "keepalive", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "holdTime" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait since receiving a keepalive message to consider BGP peer unavailable", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "update-source" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface Name", + "details": "Set IP address of interface for TCP connection to BGP neighbor", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Next-Hop Self", + "details": "Set router to be next hop for routes advertised to neighbor", + "key": "next-hop-self", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Community", + "details": "Send community attribute", + "key": "send-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Extended Community", + "details": "Send extended community attribute", + "key": "send-ext-community", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EBGP Multihop", + "details": "Set TTL value for peers that are not directly connected", + "key": "ebgp-multihop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Password", + "details": "Set MD5 password on TCP connection with BGP peer", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Label", + "details": "Send label", + "key": "send-label", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Explicit NULL", + "details": "Send label Explicit", + "key": "send-label-explicit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "As Override", + "details": "As Override", + "key": "as-override", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "allowas-in" + ], + "dataType": { + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "as-number", + "details": " As Number", + "key": "as-number", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ipv6-unicast", + "value": "ipv6-unicast" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set BGP address family", + "key": "family-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "default": 0, + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Number of Prefixes", + "details": "Set maximum number of prefixes accepted from BGP peer", + "key": "prefix-num", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "default": 0, + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold (percentage)", + "details": "Set threshold at which to generate a warning message", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Restart Interval (minutes)", + "details": "Set when to restart BGP connection if threshold is exceeded", + "key": "restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "maximum-prefixes" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Warning Only", + "details": "Display only a warning message when threshold is exceeded", + "key": "warning-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Set direction for applying route policy", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policy Name", + "details": "Configure name of route policy", + "key": "pol-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Select route policy to apply to prefixes received from BGP neighbor", + "key": "route-policy", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set BGP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "family-type" + ] + } + ], + "dataPath": [ + "bgp" + ], + "defaultOption": "ignore", + "description": "IPv6 Neighbor", + "details": "Set BGP IPv6 neighbors", + "key": "ipv6-neighbor", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "name": "cisco_bgp", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_dhcp_server.json b/gen/models/feature_templates/cisco_dhcp_server.json new file mode 100644 index 00000000..55823926 --- /dev/null +++ b/gen/models/feature_templates/cisco_dhcp_server.json @@ -0,0 +1,310 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Address Pool", + "details": "Configure IPv4 prefix range of the DHCP address pool", + "key": "address-pool", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4Range" + }, + "defaultOption": "ignore", + "description": "Exclude Addresses", + "details": "Configure IPv4 address to exclude from DHCP address pool", + "key": "exclude", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 86400, + "max": 31536000, + "min": 60, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Lease Time (seconds)", + "details": "Configure how long a DHCP-assigned IP address is valid", + "key": "lease-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "max": 65535, + "min": 68, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface MTU", + "details": "Set MTU on interface to DHCP client", + "key": "interface-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Domain Name", + "details": "Set domain name client uses to resolve hostnames", + "key": "domain-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Default Gateway", + "details": "Set IP address of default gateway", + "key": "default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DNS Servers", + "details": "Configure one or more DNS server IP addresses", + "key": "dns-servers", + "maxElements": 8, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "TFTP Servers", + "details": "Configure TFTP server IP addresses", + "key": "tftp-servers", + "maxElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "Set MAC address of client", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "Set client\u2019s static IP address", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Hostname", + "details": "Set client\u2019s hostname", + "key": "host-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static Leases", + "details": "Configure static IP addresses", + "key": "static-lease", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "mac-address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Option Code", + "details": "Set Option Code", + "key": "code", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "ASCII", + "details": "Set ASCII value", + "key": "ascii", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 254, + "minLength": 2, + "type": "string" + }, + "defaultOption": "ignore", + "description": "HEX", + "details": "Set HEX value", + "key": "hex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Set ip address", + "key": "ip", + "maxChildren": "8", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "options" + ], + "defaultOption": "ignore", + "description": "Options Code", + "details": "Configure Options Code", + "key": "option-code", + "maxElements": 254, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "code" + ] + } + ], + "name": "cisco_dhcp_server", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "dhcp-server" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_dsp_farm.json b/gen/models/feature_templates/cisco_dsp_farm.json new file mode 100644 index 00000000..83b32278 --- /dev/null +++ b/gen/models/feature_templates/cisco_dsp_farm.json @@ -0,0 +1,768 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "0/1", + "value": "0/1" + }, + { + "key": "0/2", + "value": "0/2" + }, + { + "key": "0/3", + "value": "0/3" + }, + { + "key": "0/4", + "value": "0/4" + }, + { + "key": "1/0", + "value": "1/0" + }, + { + "key": "2/0", + "value": "2/0" + }, + { + "key": "3/0", + "value": "3/0" + }, + { + "key": "4/0", + "value": "4/0" + }, + { + "key": "1/1", + "value": "1/1" + }, + { + "key": "2/1", + "value": "2/1" + } + ] + }, + "defaultOption": "constant", + "description": "Slot/sub-slot ID", + "details": "Slot/sub-slot ID", + "key": "slot-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "SM-X-PVDM-500", + "value": "SM-X-PVDM-500" + }, + { + "key": "SM-X-PVDM-1000", + "value": "SM-X-PVDM-1000" + }, + { + "key": "SM-X-PVDM-2000", + "value": "SM-X-PVDM-2000" + }, + { + "key": "SM-X-PVDM-3000", + "value": "SM-X-PVDM-3000" + }, + { + "key": "NIM-PVDM-32", + "value": "NIM-PVDM-32" + }, + { + "key": "NIM-PVDM-64", + "value": "NIM-PVDM-64" + }, + { + "key": "NIM-PVDM-128", + "value": "NIM-PVDM-128" + }, + { + "key": "NIM-PVDM-256", + "value": "NIM-PVDM-256" + }, + { + "key": "PVDM4-32", + "value": "PVDM4-32" + }, + { + "key": "PVDM4-64", + "value": "PVDM4-64" + }, + { + "key": "PVDM4-128", + "value": "PVDM4-128" + }, + { + "key": "PVDM4-256", + "value": "PVDM4-256" + } + ] + }, + "defaultOption": "constant", + "description": "Module", + "details": "Voice module type", + "key": "module-type", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Media Resource", + "details": "Configure Media Resource", + "key": "media-resource", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "slot-id" + ] + }, + { + "dataPath": [ + "sccp-config" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Local Interface", + "details": "Configure Local Interface", + "key": "local-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "Server IP", + "details": "Server IP", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "Server Identifier", + "details": "Server Identifier", + "key": "identifier", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "sccp-config" + ], + "defaultOption": "constant", + "description": "Server List", + "details": "Configure Server List", + "key": "server-list", + "maxElements": 4, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "ip" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "CUCM Group ID", + "details": "CUCM Group ID", + "key": "cucm-group-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "CUCM Server Identifier", + "details": "CUCM Server Identifier", + "key": "cucm-server-identifier", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "CUCM Server IP", + "details": "CUCM Server IP", + "key": "cucm-server-ip", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "CUCM Server Priority", + "details": "CUCM Server Priority", + "key": "cucm-server-priority", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "CUCM Server List Priority", + "details": "CUCM Server List Priority", + "key": "cucm-server-list-priority", + "maxElements": 4, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "cucm-server-identifier" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CUCM Media Resource Name", + "details": "CUCM Media Resource Name", + "key": "media-resource-group-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "constant", + "description": "Profile to be associated", + "details": "Profile to be associated", + "key": "profile-id", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "CUCM Media Resource Group List", + "details": "CUCM Media Resource Group List", + "key": "cucm-media-resource-group-list", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "media-resource-group-name" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "graceful", + "type": "enum", + "values": [ + { + "key": "graceful", + "value": "graceful" + }, + { + "key": "immediate", + "value": "immediate" + } + ] + }, + "defaultOption": "ignore", + "description": "CUCM Switchover", + "details": "CUCM Switchover", + "key": "cucm-switchover", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "guard", + "type": "enum", + "values": [ + { + "key": "guard", + "value": "guard" + }, + { + "key": "graceful", + "value": "graceful" + }, + { + "key": "immediate", + "value": "immediate" + } + ] + }, + "defaultOption": "ignore", + "description": "CUCM Switchback", + "details": "CUCM switchback", + "key": "cucm-switchback", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [ + "sccp-config" + ], + "defaultOption": "constant", + "description": "CUCM Group", + "details": "Configure CUCM Group", + "key": "cucm-group", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "cucm-group-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "Profile ID", + "details": "Profile ID", + "key": "profile-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "transcode", + "type": "enum", + "values": [ + { + "key": "transcode", + "value": "transcode" + }, + { + "key": "conference", + "value": "conference" + }, + { + "key": "mtp", + "value": "mtp" + } + ] + }, + "defaultOption": "constant", + "description": "Profile Type", + "details": "Profile Type", + "key": "profile-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Universal", + "details": "Transcode universal profile type", + "key": "universal", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g722-64", + "details": "Add the codec g722-64", + "key": "g722-64", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "isac", + "details": "Add the codec isac", + "key": "isac", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g729abr8", + "details": "Add the codec g729abr8", + "key": "g729abr8", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g729ar8", + "details": "Add the codec g729ar8", + "key": "g729ar8", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g729br8", + "details": "Add the codec g729br8", + "key": "g729br8", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g729r8", + "details": "Add the codec g729r8", + "key": "g729r8", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "ilbc", + "details": "Add the codec ilbc", + "key": "ilbc", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g711alaw", + "details": "Add the codec g711alaw", + "key": "g711alaw", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "g711ulaw", + "details": "Add the codec g711ulaw", + "key": "g711ulaw", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "codec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "pass-through", + "details": "Add the codec pass-through", + "key": "pass-through", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Maximum Sessions", + "details": "Maximum Sessions", + "key": "max-session", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "sccp", + "type": "enum", + "values": [ + { + "key": "sccp", + "value": "sccp" + }, + { + "key": "cube", + "value": "cube" + } + ] + }, + "defaultOption": "constant", + "description": "Application", + "details": "Application", + "key": "application", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Shutdown", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": 8, + "value": 8 + }, + { + "key": 16, + "value": 16 + }, + { + "key": 32, + "value": 32 + } + ] + }, + "defaultOption": "constant", + "description": "Conference Maximum Participants", + "details": "Conference Maximum Participants", + "key": "conference-max-participants", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "MTP Maximum Hardware Sessions", + "details": "MTP Maximum Hardware Sessions", + "key": "mtp-max-sessions-hardware", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 6000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "MTP Maximum Software Sessions", + "details": "MTP Maximum Software Sessions", + "key": "mtp-max-sessions-software", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Profile", + "details": "Configure Profile", + "key": "profile", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "profile-id" + ] + } + ], + "name": "cisco_dsp_farm", + "nameSpace": "http://viptela.com/uc-voice", + "xmlPath": [], + "xmlRootTag": "uc-dspfarm" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_logging.json b/gen/models/feature_templates/cisco_logging.json new file mode 100644 index 00000000..d8e09697 --- /dev/null +++ b/gen/models/feature_templates/cisco_logging.json @@ -0,0 +1,577 @@ +{ + "fields": [ + { + "dataPath": [ + "disk" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Disk", + "details": "Enable logging to local disk", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "disk", + "file" + ], + "dataType": { + "default": 10, + "max": 20, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum File Size (MB)", + "details": "Set maximum size of file before it is rotated", + "key": "size", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "disk", + "file" + ], + "dataType": { + "default": 10, + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Rotations", + "details": "Set number of syslog files to create before discarding oldest files", + "key": "rotate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Profile Name", + "details": "Specify the name of the TLS profile", + "key": "profile", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "tls-version" + ], + "dataType": { + "default": "TLSv1.1", + "type": "enum", + "values": [ + { + "key": "TLSv1.1", + "value": "TLSv1.1" + }, + { + "key": "TLSv1.2", + "value": "TLSv1.2" + } + ] + }, + "defaultOption": "ignore", + "description": "TLS Version", + "details": "TLS Version", + "key": "version", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "Server", + "value": "Server" + }, + { + "key": "Mutual", + "value": "Mutual" + } + ] + }, + "defaultOption": "constant", + "description": "Authentication Type", + "details": "Authentication Type", + "key": "auth-type", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ciphersuite" + ], + "dataType": { + "type": "enumList", + "values": [ + { + "key": "aes-128-cbc-sha", + "value": "aes-128-cbc-sha" + }, + { + "key": "aes-256-cbc-sha", + "value": "aes-256-cbc-sha" + }, + { + "key": "dhe-aes-cbc-sha2", + "value": "dhe-aes-cbc-sha2" + }, + { + "key": "dhe-aes-gcm-sha2", + "value": "dhe-aes-gcm-sha2" + }, + { + "key": "ecdhe-ecdsa-aes-gcm-sha2", + "value": "ecdhe-ecdsa-aes-gcm-sha2" + }, + { + "key": "ecdhe-rsa-aes-cbc-sha2", + "value": "ecdhe-rsa-aes-cbc-sha2" + }, + { + "key": "ecdhe-rsa-aes-gcm-sha2", + "value": "ecdhe-rsa-aes-gcm-sha2" + }, + { + "key": "rsa-aes-cbc-sha2", + "value": "rsa-aes-cbc-sha2" + }, + { + "key": "rsa-aes-gcm-sha2", + "value": "rsa-aes-gcm-sha2" + } + ] + }, + "defaultOption": "ignore", + "description": "Ciphersuites", + "details": "Syslog secure server ciphersuites", + "key": "ciphersuite-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Configure a TLS profile", + "details": "Configure a TLS profile", + "key": "tls-profile", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "profile" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Hostname/IPv4 Address", + "details": "Set hostname or IPv4 address of server", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which syslog server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach syslog server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "information", + "type": "enum", + "values": [ + { + "key": "information", + "value": "Informational: Informational messages" + }, + { + "key": "debugging", + "value": "Debugging: Debug messages" + }, + { + "key": "notice", + "value": "Notifications: Normal but significant conditions" + }, + { + "key": "warn", + "value": "Warnings: Warning conditions" + }, + { + "key": "error", + "value": "Errors: Error conditions" + }, + { + "key": "critical", + "value": "Critical: Critical conditions" + }, + { + "key": "alert", + "value": "Alerts: Immediate action needed" + }, + { + "key": "emergency", + "value": "Emergencies: System is unusable" + } + ] + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set logging level for messages logged to server", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tls" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TLS", + "details": "Enable TLS", + "key": "enable-tls", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tls", + "tls-properties" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Custom Profile", + "details": "Define custom profile", + "key": "custom-profile", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tls", + "tls-properties" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLS Profile", + "details": "Configure a TLS profile", + "key": "profile", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Remote host", + "details": "Enable logging to remote server", + "key": "server", + "maxChildren": "7", + "minChildren": "0", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "IPv6 Hostname/IPv6 Address", + "details": "Set IPv6 hostname or IPv6 address of server", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which syslog server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach syslog server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "information", + "type": "enum", + "values": [ + { + "key": "information", + "value": "Informational: Informational messages" + }, + { + "key": "debugging", + "value": "Debugging: Debug messages" + }, + { + "key": "notification", + "value": "Notifications: Normal but significant conditions" + }, + { + "key": "warn", + "value": "Warnings: Warning conditions" + }, + { + "key": "error", + "value": "Errors: Error conditions" + }, + { + "key": "critical", + "value": "Critical: Critical conditions" + }, + { + "key": "alert", + "value": "Alerts: Immediate action needed" + }, + { + "key": "emergency", + "value": "Emergencies: System is unusable" + } + ] + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set logging level for messages logged to server", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tls" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TLS", + "details": "Enable TLS", + "key": "enable-tls", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tls", + "tls-properties" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Custom Profile", + "details": "Define custom profile", + "key": "custom-profile", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tls", + "tls-properties" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLS Profile", + "details": "Configure a TLS profile", + "key": "profile", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Remote IPv6 host", + "details": "Enable logging to remote IPv6 server", + "key": "ipv6-server", + "maxChildren": "7", + "minChildren": "0", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "cisco_logging", + "nameSpace": "http://viptela.com/system", + "xmlPath": [ + "system" + ], + "xmlRootTag": "logging" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_ntp.json b/gen/models/feature_templates/cisco_ntp.json new file mode 100644 index 00000000..be0df496 --- /dev/null +++ b/gen/models/feature_templates/cisco_ntp.json @@ -0,0 +1,265 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Hostname/IP Address", + "details": "Set hostname or IP address of server", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Key ID", + "details": "Set authentication key for the server", + "key": "key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which NTP server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 4, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Version", + "details": "Set NTP version", + "key": "version", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach NTP server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Prefer", + "details": "Prefer this NTP server", + "key": "prefer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "NTP Server (up to 4)", + "details": "Configure NTP servers", + "key": "server", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Authentication Key ID", + "details": "MD5 authentication key ID", + "key": "number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Authentication Value", + "details": "Enter cleartext or AES-encrypted MD5 authentication key", + "key": "md5", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "keys" + ], + "defaultOption": "ignore", + "description": "Authentication", + "details": "Set MD5 authentication key", + "key": "authentication", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "number" + ] + }, + { + "dataPath": [ + "keys" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Trusted Keys", + "details": "Designate authentication key as trustworthy", + "key": "trusted", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "master" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Master", + "details": "Configure device as NTP master", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "master" + ], + "dataType": { + "max": 15, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Stratum", + "details": "Master Stratum <1..15>", + "key": "stratum", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "master" + ], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source", + "details": "Set interface for NTP Master", + "key": "source", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cisco_ntp", + "nameSpace": "http://viptela.com/system", + "xmlPath": [ + "system" + ], + "xmlRootTag": "ntp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_omp.json b/gen/models/feature_templates/cisco_omp.json new file mode 100644 index 00000000..3d7ea4be --- /dev/null +++ b/gen/models/feature_templates/cisco_omp.json @@ -0,0 +1,414 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Graceful Restart for OMP", + "details": "Enable or disable OMP graceful restart", + "key": "graceful-restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Overlay AS Number", + "details": "Set Overlay AS number <1..4294967295> or ", + "key": "overlay-as", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Number of Paths Advertised per Prefix", + "details": "Set number of TLOC routes advertised between vSmart and vEdge", + "key": "send-path-limit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ECMP Limit", + "details": "Set maximum number of OMP paths to install in vEdge route table", + "key": "ecmp-limit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable OMP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "OMP Admin Distance IPv4", + "details": "omp-admin-distance-ipv4", + "key": "omp-admin-distance-ipv4", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "OMP Admin Distance IPv6", + "details": "omp-admin-distance-ipv6", + "key": "omp-admin-distance-ipv6", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 1, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Advertisement Interval (seconds)", + "details": "Set the time between OMP Update packets", + "key": "advertisement-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 43200, + "max": 604800, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Graceful Restart Timer (seconds)", + "details": "Set the OMP graceful restart timer", + "key": "graceful-restart-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 300, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EOR Timer", + "details": "End of RIB timer <1..604800> seconds", + "key": "eor-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 60, + "range": "0,3-65535", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait before closing OMP peer connection", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "ospf", + "value": "OSPF" + }, + { + "key": "ospfv3", + "value": "OSPFV3" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "eigrp", + "value": "EIGRP" + }, + { + "key": "lisp", + "value": "LISP" + }, + { + "key": "isis", + "value": "ISIS" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set routes to advertise", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "external", + "value": "External" + } + ] + }, + "defaultOption": "constant", + "description": "Route", + "details": "Advertise OSPF external routes", + "key": "route", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Advertise Routes", + "details": "Advertise locally learned routes to OMP", + "key": "advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "ospf", + "value": "OSPF" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "eigrp", + "value": "EIGRP" + }, + { + "key": "lisp", + "value": "LISP" + }, + { + "key": "isis", + "value": "ISIS" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set routes to advertise", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Advertise Routes", + "details": "Advertise locally learned routes to OMP", + "key": "ipv6-advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Ignore Region-Path Length During Best-Path Algorithm", + "details": "Ignore Region-Path Length During Best-Path Algorithm", + "key": "ignore-region-path-length", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "prefer", + "value": "Prefer Transport Gateway Path" + }, + { + "key": "ecmp-with-direct-path", + "value": "Do ECMP Between Direct and Transport Gateway Paths" + } + ] + }, + "defaultOption": "ignore", + "description": "Transport Gateway Path Behavior", + "details": "Transport gateway path computation", + "key": "transport-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cisco_omp", + "nameSpace": "http://viptela.com/omp", + "xmlPath": [], + "xmlRootTag": "omp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_ospf.json b/gen/models/feature_templates/cisco_ospf.json new file mode 100644 index 00000000..978ea0f2 --- /dev/null +++ b/gen/models/feature_templates/cisco_ospf.json @@ -0,0 +1,908 @@ +{ + "fields": [ + { + "dataPath": [ + "ospf" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Router ID", + "details": "Set OSPF router ID to override system IP address", + "key": "router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "auto-cost" + ], + "dataType": { + "default": 100, + "max": 4294967, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Reference Bandwidth (Mbps)", + "details": "Set reference bandwidth method to assign OSPF cost", + "key": "reference-bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "compatible" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "RFC 1583 Compatible", + "details": "Calculate summary route cost based on RFC 1583", + "key": "rfc1583", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Originate Default Route", + "details": "Distribute default external route into OSPF", + "key": "originate", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information", + "originate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Always", + "details": "Always advertise default route", + "key": "always", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information", + "originate" + ], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default Metric", + "details": "Set metric used to generate default route <0..16777214>", + "key": "metric", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information", + "originate" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "type1", + "value": "type1" + }, + { + "key": "type2", + "value": "type2" + } + ] + }, + "defaultOption": "ignore", + "description": "Metric Type", + "details": "Set default route type", + "key": "metric-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "distance" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance for External Routes", + "details": "Set distance for external routes", + "key": "external", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "distance" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance for Inter-Area Routes", + "details": "Set distance for inter-area routes", + "key": "inter-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "distance" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance for Intra-Area Routes", + "details": "Set distance for intra-area routes", + "key": "intra-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "timers", + "spf" + ], + "dataType": { + "default": 200, + "max": 600000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SPF Calculation Delay (milliseconds)", + "details": "Set delay from first change received until performing SPF calculation", + "key": "delay", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "timers", + "spf" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Initial Hold Time (milliseconds)", + "details": "Set initial hold time between consecutive SPF calculations", + "key": "initial-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "timers", + "spf" + ], + "dataType": { + "default": 10000, + "max": 600000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Hold Time (milliseconds)", + "details": "Set maximum hold time between consecutive SPF calculations", + "key": "max-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "nat", + "value": "nat" + }, + { + "key": "eigrp", + "value": "eigrp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set route policy to apply to redistributed routes", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable NAT DIA", + "details": "Enable NAT DIA for redistributed routes", + "key": "dia", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ospf" + ], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "administrative", + "value": "administrative" + }, + { + "key": "on-startup", + "value": "on-startup" + } + ] + }, + "defaultOption": "constant", + "description": "Type", + "details": "Set the router LSA advertisement type", + "key": "ad-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 86400, + "min": 5, + "type": "number" + }, + "defaultOption": "constant", + "description": "Advertisement Time (seconds)", + "details": "Set how long to advertise maximum metric after router starts up", + "key": "time", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ospf", + "max-metric" + ], + "defaultOption": "ignore", + "description": "Router LSA", + "details": "Advertise own router LSA with infinite distance", + "key": "router-lsa", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "ad-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Set direction to apply policy", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Policy Name", + "details": "Name of route policy", + "key": "pol-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ospf" + ], + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set route policy to apply", + "key": "route-policy", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Area Number", + "details": "Set OSPF area number", + "key": "a-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "stub" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No summary", + "details": "Do not inject interarea routes into stub", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-summary", + "details": "Do not inject interarea routes into NSSA", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 10, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (seconds)", + "details": "Set interval between OSPF hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 40, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Dead Interval (seconds)", + "details": "Set interval after which neighbor is declared to be down", + "key": "dead-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 5, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "LSA Retransmission Interval (seconds)", + "details": "Set time between retransmitting LSAs", + "key": "retransmit-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface Cost", + "details": "Set cost of OSPF interface", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Designated Router Priority", + "details": "Set router\u2019s priority to be elected as designated router", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "broadcast", + "type": "enum", + "values": [ + { + "key": "broadcast", + "value": "broadcast" + }, + { + "key": "point-to-point", + "value": "point-to-point" + }, + { + "key": "non-broadcast", + "value": "non-broadcast" + }, + { + "key": "point-to-multipoint", + "value": "point-to-multipoint" + } + ] + }, + "defaultOption": "ignore", + "description": "OSPF Network Type", + "details": "Set the OSPF network type", + "key": "network", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Passive Interface", + "details": "Set the interface to advertise its address, but not to actively run OSPF", + "key": "passive-interface", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "simple", + "value": "simple" + }, + { + "key": "message-digest", + "value": "message-digest" + }, + { + "key": "null", + "value": "null" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Type", + "details": "Set OSPF interface authentication type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication", + "message-digest" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Message Digest Key ID", + "details": "Set MD5 message digest key", + "key": "message-digest-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication", + "message-digest" + ], + "dataType": { + "maxLength": 31, + "minLength": 1, + "type": "passphrase" + }, + "defaultOption": "ignore", + "description": "Message Digest Key", + "details": "Set MD5 authentication key", + "key": "md5", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "OSPF Interface", + "details": "Set OSPF interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set matching prefix", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Cost", + "details": "Set cost for this range", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-advertise", + "details": "Do not advertise this range", + "key": "no-advertise", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Summarize Routes", + "details": "Summarize OSPF routes at an area boundary", + "key": "range", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [ + "ospf" + ], + "defaultOption": "ignore", + "description": "OSPF Area", + "details": "Configure OSPF area", + "key": "area", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "a-num" + ] + } + ], + "name": "cisco_ospf", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_ospfv3.json b/gen/models/feature_templates/cisco_ospfv3.json new file mode 100644 index 00000000..ca0afa5a --- /dev/null +++ b/gen/models/feature_templates/cisco_ospfv3.json @@ -0,0 +1,1925 @@ +{ + "fields": [ + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Router ID", + "details": "Set OSPF router ID to override system IP address", + "key": "router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "auto-cost" + ], + "dataType": { + "default": 100, + "max": 4294967, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Reference Bandwidth (Mbps)", + "details": "Set reference bandwidth method to assign OSPF cost", + "key": "reference-bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "compatible" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "RFC 1583 Compatible", + "details": "Calculate summary route cost based on RFC 1583", + "key": "rfc1583", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "default-information" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Originate Default", + "details": "Distribute default external route into OSPF", + "key": "originate", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "default-information", + "originate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Always", + "details": "Always advertise default route", + "key": "always", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "default-information", + "originate" + ], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default Metric", + "details": "Set metric used to generate default route <0..16777214>", + "key": "metric", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "default-information", + "originate" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "type1", + "value": "type1" + }, + { + "key": "type2", + "value": "type2" + } + ] + }, + "defaultOption": "ignore", + "description": "Metric Type", + "details": "Set default route type", + "key": "metric-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "distance-ipv4", + "ospf" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "External Routes", + "details": "Set distance for external routes", + "key": "external", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "distance-ipv4", + "ospf" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Inter-Area Routes", + "details": "Set distance for inter-area routes", + "key": "inter-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "distance-ipv4", + "ospf" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Intra-Area Routes", + "details": "Set distance for intra-area routes", + "key": "intra-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "timers", + "throttle", + "spf" + ], + "dataType": { + "default": 200, + "max": 600000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SPF Calculation Delay (milliseconds)", + "details": "Set delay from first change received until performing SPF calculation", + "key": "delay", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "timers", + "throttle", + "spf" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Initial Hold Time (milliseconds)", + "details": "Set initial hold time between consecutive SPF calculations", + "key": "initial-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "timers", + "throttle", + "spf" + ], + "dataType": { + "default": 10000, + "max": 600000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Hold Time (milliseconds)", + "details": "Set maximum hold time between consecutive SPF calculations", + "key": "max-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "distance-ipv4" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "table-map" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Policy Name", + "details": "Policy Name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "table-map" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Filter", + "details": "Filter", + "key": "filter", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "isis", + "value": "isis" + }, + { + "key": "lisp", + "value": "lisp" + }, + { + "key": "nat-route", + "value": "nat-route" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "static", + "value": "static" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set route policy to apply to redistributed routes", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable NAT DIA", + "details": "Enable NAT DIA for redistributed routes", + "key": "dia", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ospfv3", + "address-family", + "ipv4" + ], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "on-startup", + "value": "on-startup" + } + ] + }, + "defaultOption": "constant", + "description": "Type", + "details": "Set the router LSA advertisement type", + "key": "ad-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 86400, + "min": 5, + "type": "number" + }, + "defaultOption": "constant", + "description": "Advertisement Time (seconds)", + "details": "Set how long to advertise maximum metric after router starts up", + "key": "time", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ospfv3", + "address-family", + "ipv4", + "max-metric" + ], + "defaultOption": "ignore", + "description": "Router LSA", + "details": "Advertise own router LSA with infinite distance", + "key": "router-lsa", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "ad-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Area Number", + "details": "Set OSPF area number", + "key": "a-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "stub" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No summary", + "details": "Do not inject interarea routes into stub", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-summary", + "details": "Do not inject interarea routes into NSSA", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "always", + "value": "always" + } + ] + }, + "defaultOption": "ignore", + "description": "Translate", + "details": "Always Translate LSAs on this ABR", + "key": "translate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Normal", + "details": "Area Type Normal", + "key": "normal", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 10, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (seconds)", + "details": "Set interval between OSPF hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 40, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Dead Interval (seconds)", + "details": "Set interval after which neighbor is declared to be down", + "key": "dead-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 5, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "LSA Retransmission Interval (seconds)", + "details": "Set time between retransmitting LSAs", + "key": "retransmit-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface Cost", + "details": "Set cost of OSPF interface", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "broadcast", + "type": "enum", + "values": [ + { + "key": "broadcast", + "value": "broadcast" + }, + { + "key": "point-to-point", + "value": "point-to-point" + }, + { + "key": "non-broadcast", + "value": "non-broadcast" + }, + { + "key": "point-to-multipoint", + "value": "point-to-multipoint" + } + ] + }, + "defaultOption": "ignore", + "description": "OSPF Network Type", + "details": "Set the OSPF network type", + "key": "network", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Passive Interface", + "details": "Set the interface to advertise its address, but not to actively run OSPF", + "key": "passive-interface", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "md5", + "value": "md5" + }, + { + "key": "sha1", + "value": "sha1" + } + ] + }, + "defaultOption": "constant", + "description": "Authentication Type", + "details": "Set OSPF interface authentication type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Authentication Key", + "details": "Set OSPF interface authentication key", + "key": "authentication-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "authentication", + "ipsec" + ], + "dataType": { + "max": 4294967295, + "min": 256, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPSec SPI", + "details": "Set OSPF interface authentication IPSec SPI, range 256..4294967295", + "key": "spi", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "OSPF Interface", + "details": "Set OSPF interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set Matching Prefix", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Cost", + "details": "Set cost for this range", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-advertise", + "details": "Do not advertise this range", + "key": "no-advertise", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Summarize Routes", + "details": "Summarize OSPF routes at an area boundary", + "key": "range", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [ + "ospfv3", + "address-family", + "ipv4" + ], + "defaultOption": "ignore", + "description": "OSPF Area", + "details": "Configure OSPF area", + "key": "area", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "a-num" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Router ID", + "details": "Set OSPF router ID to override system IP address", + "key": "router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "auto-cost" + ], + "dataType": { + "default": 100, + "max": 4294967, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Reference Bandwidth (Mbps)", + "details": "Set reference bandwidth method to assign OSPF cost", + "key": "reference-bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "compatible" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "RFC 1583 Compatible", + "details": "Calculate summary route cost based on RFC 1583", + "key": "rfc1583", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "default-information" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Originate Default", + "details": "Distribute default external route into OSPF", + "key": "originate", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "default-information", + "originate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Always", + "details": "Always advertise default route", + "key": "always", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "default-information", + "originate" + ], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default Metric", + "details": "Set metric used to generate default route <0..16777214>", + "key": "metric", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "default-information", + "originate" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "type1", + "value": "type1" + }, + { + "key": "type2", + "value": "type2" + } + ] + }, + "defaultOption": "ignore", + "description": "Metric Type", + "details": "Set default route type", + "key": "metric-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "distance-ipv6", + "ospf" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "External Routes", + "details": "Set distance for external routes", + "key": "external", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "distance-ipv6", + "ospf" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Inter-Area Routes", + "details": "Set distance for inter-area routes", + "key": "inter-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "distance-ipv6", + "ospf" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Intra-Area Routes", + "details": "Set distance for intra-area routes", + "key": "intra-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "timers", + "throttle", + "spf" + ], + "dataType": { + "default": 200, + "max": 600000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SPF Calculation Delay (milliseconds)", + "details": "Set delay from first change received until performing SPF calculation", + "key": "delay", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "timers", + "throttle", + "spf" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Initial Hold Time (milliseconds)", + "details": "Set initial hold time between consecutive SPF calculations", + "key": "initial-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "timers", + "throttle", + "spf" + ], + "dataType": { + "default": 10000, + "max": 600000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Hold Time (milliseconds)", + "details": "Set maximum hold time between consecutive SPF calculations", + "key": "max-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "distance-ipv6" + ], + "dataType": { + "default": 110, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "table-map" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Policy Name", + "details": "Name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "table-map" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Filter", + "details": "Filter", + "key": "filter", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "isis", + "value": "isis" + }, + { + "key": "lisp", + "value": "lisp" + }, + { + "key": "nat-route", + "value": "nat-route" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "static", + "value": "static" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set route policy to apply to redistributed routes", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ospfv3", + "address-family", + "ipv6" + ], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "on-startup", + "value": "on-startup" + } + ] + }, + "defaultOption": "constant", + "description": "Type", + "details": "Set the router LSA advertisement type", + "key": "ad-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "range": "5-86400", + "type": "number" + }, + "defaultOption": "constant", + "description": "Advertisement Time (seconds)", + "details": "Set how long to advertise maximum metric after router starts up", + "key": "time", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ospfv3", + "address-family", + "ipv6", + "max-metric" + ], + "defaultOption": "ignore", + "description": "Router LSA", + "details": "Advertise own router LSA with infinite distance", + "key": "router-lsa", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "ad-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Area Number", + "details": "Set OSPF area number", + "key": "a-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "stub" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No summary", + "details": "Do not inject interarea routes into stub", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-summary", + "details": "Do not inject interarea routes into NSSA", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "always", + "value": "always" + } + ] + }, + "defaultOption": "ignore", + "description": "Translate", + "details": "Always translate LSAs on this ABR", + "key": "translate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Normal", + "details": "Area Type Normal", + "key": "normal", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 10, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (seconds)", + "details": "Set interval between OSPF hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 40, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Dead Interval (seconds)", + "details": "Set interval after which neighbor is declared to be down", + "key": "dead-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 5, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "LSA Retransmission Interval (seconds)", + "details": "Set time between retransmitting LSAs", + "key": "retransmit-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface Cost", + "details": "Set cost of OSPF interface", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "broadcast", + "type": "enum", + "values": [ + { + "key": "broadcast", + "value": "broadcast" + }, + { + "key": "point-to-point", + "value": "point-to-point" + }, + { + "key": "non-broadcast", + "value": "non-broadcast" + }, + { + "key": "point-to-multipoint", + "value": "point-to-multipoint" + } + ] + }, + "defaultOption": "ignore", + "description": "OSPF Network Type", + "details": "Set the OSPF network type", + "key": "network", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Passive Interface", + "details": "Set the interface to advertise its address, but not to actively run OSPF", + "key": "passive-interface", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "md5", + "value": "md5" + }, + { + "key": "sha1", + "value": "sha1" + } + ] + }, + "defaultOption": "constant", + "description": "Authentication Type", + "details": "Set OSPF interface authentication type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Authentication Key", + "details": "Set OSPF interface authentication key", + "key": "authentication-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "authentication", + "ipsec" + ], + "dataType": { + "max": 4294967295, + "min": 256, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPSec SPI", + "details": "Set OSPF interface authentication IPSec SPI, range 256..4294967295", + "key": "spi", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "OSPF Interface", + "details": "Set OSPF interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set Matching Prefix", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Cost", + "details": "Set cost for this range", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-advertise", + "details": "Do not advertise this range", + "key": "no-advertise", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Summarize Routes", + "details": "Summarize OSPF routes at an area boundary", + "key": "range", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [ + "ospfv3", + "address-family", + "ipv6" + ], + "defaultOption": "ignore", + "description": "OSPF Area", + "details": "Configure OSPF area", + "key": "area", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "a-num" + ] + } + ], + "name": "cisco_ospfv3", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_secure_internet_gateway.json b/gen/models/feature_templates/cisco_secure_internet_gateway.json new file mode 100644 index 00000000..f2a1a851 --- /dev/null +++ b/gen/models/feature_templates/cisco_secure_internet_gateway.json @@ -0,0 +1,1473 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "List of VPN instances", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "maxLength": 8, + "min": 1, + "minLength": 4, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..255)", + "details": "Interface name: IPsec when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Auto Tunnel Mode", + "details": "Auto Tunnel Mode", + "key": "auto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Unnumbered Interface", + "details": "Unnumbered interface", + "key": "unnumbered", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Tunnel Source IP Address", + "details": "Tunnel source IP Address", + "key": "tunnel-source", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Source Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Route-via Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-route-via", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "default": "dynamic", + "defaultOption": "constant", + "description": "Tunnel Destination IP Address/FQDN(Ipsec)", + "details": "Tunnel destination IP address", + "key": "tunnel-destination", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "sig", + "type": "enum", + "values": [ + { + "key": "sig", + "value": "Secure Internet Gateway" + } + ] + }, + "defaultOption": "constant", + "description": "Application", + "details": "Enable Application Tunnel Type", + "key": "application", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "sig", + "type": "enum", + "values": [ + { + "key": "sig", + "value": "Secure Internet Gateway" + } + ] + }, + "defaultOption": "constant", + "description": "Application", + "details": "Enable Application Tunnel Type", + "key": "application", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "secure-internet-gateway-umbrella", + "type": "enum", + "values": [ + { + "key": "secure-internet-gateway-umbrella", + "value": "Umbrella" + }, + { + "key": "secure-internet-gateway-zscaler", + "value": "Zscaler" + }, + { + "key": "secure-internet-gateway-other", + "value": "Generic" + } + ] + }, + "defaultOption": "constant", + "description": "SIG Provider", + "details": "SIG Tunnel Provider", + "key": "tunnel-set", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "primary-dc", + "type": "enum", + "values": [ + { + "key": "primary-dc", + "value": "Primary" + }, + { + "key": "secondary-dc", + "value": "Secondary" + } + ] + }, + "defaultOption": "constant", + "description": "Data-Center", + "details": "SIG Tunnel Data Center", + "key": "tunnel-dc-preference", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1400, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "notIgnore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "default": 10, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Interval", + "details": "IKE keepalive interval (seconds)", + "key": "dpd-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "default": 3, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Retries", + "details": "IKE keepalive retries", + "key": "dpd-retries", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 2, + "max": 2, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "IKE Version", + "details": "IKE Version <1..2>", + "key": "ike-version", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 127, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Preshared Key", + "details": "Use preshared key to authenticate IKE peer", + "key": "pre-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 14400, + "max": 1209600, + "min": 300, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IKE Rekey Interval (seconds)", + "details": "IKE rekey interval <300..1209600> seconds", + "key": "ike-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "aes256-cbc-sha1", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha2", + "value": "AES 256 CBC SHA2" + }, + { + "key": "aes128-cbc-sha1", + "value": "AES 128 CBC SHA1" + }, + { + "key": "aes128-cbc-sha2", + "value": "AES 128 CBC SHA2" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Cipher Suite", + "details": "IKE identity the IKE preshared secret belongs to", + "key": "ike-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "14", + "type": "enum", + "values": [ + { + "key": "2", + "value": "2 1024-bit modulus" + }, + { + "key": "14", + "value": "14 2048-bit modulus" + }, + { + "key": "15", + "value": "15 3072-bit modulus" + }, + { + "key": "16", + "value": "16 4096-bit modulus" + } + ] + }, + "defaultOption": "notIgnore", + "description": "IKE Diffie-Hellman Group", + "details": "IKE Diffie Hellman Groups", + "key": "ike-group", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Preshared Key", + "details": "Use preshared key to authenticate IKE peer", + "key": "pre-shared-key-dynamic", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for local End point", + "details": "IKE ID for the local endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-local-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for Remote End point", + "details": "IKE ID for the remote endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-remote-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 3600, + "max": 1209600, + "min": 300, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Rekey Interval (seconds)", + "details": "IPsec rekey interval <300..1209600> seconds", + "key": "ipsec-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 512, + "max": 4096, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Replay Window", + "details": "Replay window size 32..8192 (must be a power of 2)", + "key": "ipsec-replay-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "aes256-gcm", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha384", + "value": "AES 256 CBC SHA 384" + }, + { + "key": "aes256-cbc-sha256", + "value": "AES 256 CBC SHA 256" + }, + { + "key": "aes256-cbc-sha512", + "value": "AES 256 CBC SHA 512" + }, + { + "key": "aes256-gcm", + "value": "AES 256 GCM" + }, + { + "key": "null-sha1", + "value": "Null SHA1" + }, + { + "key": "null-sha384", + "value": "Nul SHA 384" + }, + { + "key": "null-sha256", + "value": "Nul SHA 256" + }, + { + "key": "null-sha512", + "value": "Nul SHA 512" + } + ] + }, + "defaultOption": "notIgnore", + "description": "IPsec Cipher Suite", + "details": "IPsec(ESP) encryption and integrity protocol", + "key": "ipsec-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "group-2", + "value": "Group-2 1024-bit modulus" + }, + { + "key": "group-14", + "value": "Group-14 2048-bit modulus" + }, + { + "key": "group-15", + "value": "Group-15 3072-bit modulus" + }, + { + "key": "group-16", + "value": "Group-16 4096-bit modulus" + }, + { + "key": "none", + "value": "None" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Perfect Forward Secrecy", + "details": "IPsec perfect forward secrecy settings", + "key": "perfect-forward-secrecy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track this interface for SIG", + "details": "Enable/disable SIG tracking", + "key": "track-enable", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "Auto", + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Source Public IP", + "details": "Public IP required to setup GRE tunnel to Zscaler", + "key": "tunnel-public-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "IPSec Interface", + "details": "Interface name: IPsec when present", + "key": "interface", + "maxElements": 4, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "if-name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "sig", + "type": "enum", + "values": [ + { + "key": "sig", + "value": "SIG" + } + ] + }, + "defaultOption": "constant", + "description": "Service Type", + "details": "Service Type", + "key": "svc-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "constant", + "description": "Active Tunnel Interface", + "details": "Active Tunnel Interface for SIG", + "key": "active-interface", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Weight", + "details": "Active Tunnel Interface Weight", + "key": "active-interface-weight", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "constant", + "description": "Backup Tunnel Interface", + "details": "Backup Tunnel Interface for SIG", + "key": "backup-interface", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Weight", + "details": "Backup Tunnel Interface Weight", + "key": "backup-interface-weight", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "ha-pairs" + ], + "defaultOption": "constant", + "description": "Interface Pair", + "details": "Interface Pair for active and backup", + "key": "interface-pair", + "maxElements": 4, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "active-interface", + "backup-interface" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Authentication Required", + "details": "Enforce Authentication", + "key": "auth-required", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "XFF Forwarding", + "details": "XFF forwarding enabled", + "key": "xff-forward-enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Firewall", + "details": "Firewall enabled", + "key": "ofw-enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable IPS Control", + "details": "Enable IPS Control", + "key": "ips-control", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Caution", + "details": "Enable Caution", + "key": "caution-enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "datacenters" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Primary Data-Center", + "details": "Custom Primary Datacenter", + "key": "primary-data-center", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "datacenters" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Secondary Data-Center", + "details": "Custom Secondary Datacenter", + "key": "secondary-data-center", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Surrogate IP", + "details": "Enable Surrogate IP", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": 0, + "max:": 4294967296, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Idle Time to Disassociation", + "details": "Idle time to disassociation", + "key": "idle-time", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "MINUTE", + "type": "enum", + "values": [ + { + "key": "MINUTE", + "value": "MINUTE" + }, + { + "key": "HOUR", + "value": "HOUR" + }, + { + "key": "DAY", + "value": "DAY" + } + ] + }, + "defaultOption": "ignore", + "description": "Display Time Unit", + "details": "Display time unit", + "key": "display-time-unit", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enforce Surrogate IP for known browsers", + "details": "Enforce Surrogate IP for known browsers", + "key": "ip-enforced-for-known-browsers", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": 0, + "max:": 4294967296, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Refresh Time", + "details": "Refresh time for re-validation of surrogacy in minutes", + "key": "refresh-time", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "MINUTE", + "type": "enum", + "values": [ + { + "key": "MINUTE", + "value": "MINUTE" + }, + { + "key": "HOUR", + "value": "HOUR" + }, + { + "key": "DAY", + "value": "DAY" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Time Unit", + "details": "Refresh Time unit", + "key": "refresh-time-unit", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable AUP", + "details": "Enable Acceptable User Policy", + "key": "enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "First Time AUP Block Internet Access", + "details": "For first-time Acceptable User Policy behavior, block Internet access", + "key": "block-internet-until-accepted", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Force SSL Inspection", + "details": "For first-time Acceptable User Policy behavior, force SSL inspection", + "key": "force-ssl-inspection", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "AUP Frequency", + "details": "Custom Acceptable User Policy frequency in days", + "key": "timeout", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Zscaler Location Name", + "details": "Zscaler location name (optional)", + "key": "location-name", + "objectType": "object", + "optionType": [ + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "umbrella-data-center" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Umbrella Primary Data-Center", + "details": "Umbrella Primary Datacenter", + "key": "data-center-primary", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "umbrella-data-center" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Umbrella Secondary Data-Center", + "details": "Umbrella Secondary Datacenter", + "key": "data-center-secondary", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Service", + "details": "Configure services", + "key": "service", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "svc-type" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Source IP Address", + "details": "Source IP address for Tracker", + "key": "tracker-src-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Tracker name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 512, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "API url of endpoint", + "details": "API url of endpoint", + "key": "endpoint-api-url", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 1000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold", + "details": "Probe Timeout threshold <100..1000> milliseconds", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 60, + "max": 600, + "min": 20, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "Probe interval <10..600> seconds", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 3, + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Probe failure multiplier <1..10> failed attempts", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": " SIG", + "type": "enum", + "values": [ + { + "key": "SIG", + "value": "SIG" + } + ] + }, + "defaultOption": "constant", + "description": "Tracker Type", + "details": "", + "key": "tracker-type", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Tracker", + "details": "Tracker configuration", + "key": "tracker", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "tracker-type", + "name" + ] + } + ], + "name": "cisco_secure_internet_gateway", + "nameSpace": "http://viptela.com/vpn", + "uniqueKey": "vpn-id", + "xmlPath": [ + "vpn" + ], + "xmlRootTag": "vpn-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_security.json b/gen/models/feature_templates/cisco_security.json new file mode 100644 index 00000000..61ddb4c3 --- /dev/null +++ b/gen/models/feature_templates/cisco_security.json @@ -0,0 +1,666 @@ +{ + "fields": [ + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 86400, + "max": 1209600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Rekey Time (seconds)", + "details": "Set how often to change the AES key for DTLS connections", + "key": "rekey", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "512", + "type": "enum", + "values": [ + { + "key": "64", + "value": 64 + }, + { + "key": "128", + "value": 128 + }, + { + "key": "256", + "value": 256 + }, + { + "key": "512", + "value": 512 + }, + { + "key": "1024", + "value": 1024 + }, + { + "key": "2048", + "value": 2048 + }, + { + "key": "4096", + "value": 4096 + }, + { + "key": "8192", + "value": 8192 + } + ] + }, + "defaultOption": "ignore", + "description": "Replay Window", + "details": "Set the sliding replay window size", + "key": "replay-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 256, + "max": 2048, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Extended Anti-Replay Window (milliseconds)", + "details": "Extended Anti-Replay Window", + "key": "extended-ar-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "none", + "value": "none" + }, + { + "key": "sha1-hmac", + "value": "sha1-hmac" + }, + { + "key": "ah-sha1-hmac", + "value": "ah-sha1-hmac" + }, + { + "key": "ah-no-id", + "value": "ah-no-id" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Type", + "details": "Set the authentication type for DTLS connections", + "key": "authentication-type", + "objectStatus": "deprecated", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "none", + "value": "none" + }, + { + "key": "esp", + "value": "esp" + }, + { + "key": "ip-udp-esp", + "value": "ip-udp-esp" + }, + { + "key": "ip-udp-esp-no-id", + "value": "ip-udp-esp-no-id" + } + ] + }, + "defaultOption": "ignore", + "description": "Integrity Type", + "details": "Set the authentication type for DTLS connections", + "key": "integrity-type", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IPsec pairwise-keying", + "details": "Enable or disable IPsec pairwise-keying", + "key": "pairwise-keying", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 236, + "type": "string" + }, + "defaultOption": "constant", + "description": "Keychain Name", + "details": "Specify the name of the Keychain", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Key ID", + "details": "Specify the Key ID", + "key": "keyid", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "trustsec" + ], + "defaultOption": "ignore", + "description": "Configure a Keychain", + "details": "Configure a Keychain", + "key": "keychain", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name", + "keyid" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "constant", + "description": "Key ID", + "details": "Select the Key ID", + "key": "id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "constant", + "description": "Key Chain Name", + "details": "Select the chain name", + "key": "chain-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Send ID", + "details": "Specify the Send ID", + "key": "send-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Receiver ID", + "details": "Specify the Receiver ID", + "key": "recv-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "cryptographic-algorithm-choice" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "aes-128-cmac", + "value": "aes-128-cmac" + }, + { + "key": "hmac-sha-1", + "value": "hmac-sha-1" + }, + { + "key": "hmac-sha-256", + "value": "hmac-sha-256" + } + ] + }, + "defaultOption": "constant", + "description": "Crypto Algorithm", + "details": "Crypto Algorithm", + "key": "tcp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Key String", + "details": "Specify the Key String", + "key": "key-string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "send-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "default": "infinite", + "type": "radioButtonList", + "values": [ + { + "label": "Infinite", + "value": "infinite" + }, + { + "label": "Duration", + "value": "duration" + }, + { + "label": "Exact", + "value": "end-epoch" + } + ] + }, + "defaultOption": "ignore", + "description": "End Time Format", + "details": "Configure Key lifetime end time", + "key": "end-choice", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "send-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Lifetime Local", + "details": "Configure Send lifetime Local", + "key": "local", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "send-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "type": "datetimelocal" + }, + "defaultOption": "constant", + "description": "Key lifetime start time", + "details": "Configure Key lifetime start time", + "key": "start-epoch", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "send-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "max": 2147483646, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Send lifetime Duration (seconds)", + "details": "Configure Send lifetime Duration", + "key": "duration", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "send-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "max": "2035-12-31T23:59", + "type": "datetimelocal" + }, + "defaultOption": "constant", + "description": "Key lifetime end time", + "details": "Configure Key lifetime end time", + "key": "end-epoch", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "send-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Configure Key lifetime end time", + "details": "Configure Key lifetime end time", + "key": "infinite", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "accept-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "default": "infinite", + "type": "radioButtonList", + "values": [ + { + "label": "Infinite", + "value": "infinite" + }, + { + "label": "Duration", + "value": "duration" + }, + { + "label": "Exact", + "value": "end-epoch" + } + ] + }, + "defaultOption": "ignore", + "description": "End Time Format", + "details": "Configure Key lifetime end time", + "key": "end-choice", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "accept-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Accept Lifetime Local", + "details": "Configure Accept Lifetime Local", + "key": "local", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "accept-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "type": "datetimelocal" + }, + "defaultOption": "constant", + "description": "Key lifetime start time", + "details": "Configure Key lifetime start time", + "key": "start-epoch", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "accept-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "max": 2147483646, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Accept lifetime Duration (seconds)", + "details": "Configure Accept lifetime Duration", + "key": "duration", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "accept-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "max": "2035-12-31T23:59", + "type": "datetimelocal" + }, + "defaultOption": "constant", + "description": "Key lifetime end time", + "details": "Configure Key lifetime end time", + "key": "end-epoch", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "accept-lifetime", + "lifetime-group-v1" + ], + "dataType": { + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Configure Key lifetime end time", + "details": "Configure Key lifetime end time", + "key": "infinite", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Include TCP Options", + "details": "Configure Include TCP Options", + "key": "include-tcp-options", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Accept AO Mismatch", + "details": "Configure Accept AO Mismatch", + "key": "accept-ao-mismatch", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Configure a Key", + "details": "Configure a Key", + "key": "key", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "id", + "chain-name" + ] + } + ], + "name": "cisco_security", + "nameSpace": "http://viptela.com/security", + "xmlPath": [], + "xmlRootTag": "security" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_sig_credentials.json b/gen/models/feature_templates/cisco_sig_credentials.json new file mode 100644 index 00000000..6886b8d3 --- /dev/null +++ b/gen/models/feature_templates/cisco_sig_credentials.json @@ -0,0 +1,199 @@ +{ + "fields": [ + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Organization", + "details": "Organization Name", + "key": "organization", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner Base URI", + "details": "Partner Base URI to be used in REST calls", + "key": "partner-base-uri", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Username", + "details": "Username of Zscaler partner account", + "key": "username", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Password of Zscaler partner account", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Cloud Name", + "details": "Third Party Cloud Name", + "key": "cloud-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner User Name", + "details": "Partner User Name", + "key": "partner-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner Password", + "details": "Partner Password", + "key": "partner-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner API Key", + "details": "Partner API Key", + "key": "partner-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "umbrella" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Registration Key", + "details": "API Key", + "key": "api-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "umbrella" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Secret", + "details": "API Secret", + "key": "api-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "umbrella" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Organization ID", + "details": "Ord ID", + "key": "org-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "name": "cisco_sig_credentials", + "nameSpace": "http://viptela.com/sig", + "xmlPath": [], + "xmlRootTag": "secure-internet-gateway" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_snmp.json b/gen/models/feature_templates/cisco_snmp.json new file mode 100644 index 00000000..6defccc6 --- /dev/null +++ b/gen/models/feature_templates/cisco_snmp.json @@ -0,0 +1,561 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable SNMP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Contact Person", + "details": "Set the contact for this managed node", + "key": "contact", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Location of Device", + "details": "Set the physical location of this managed node", + "key": "location", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set the name of the SNMP view", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Object Identifier", + "details": "Configure identifier of subtree of MIB objects", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Exclude OID", + "details": "Exclude the OID", + "key": "exclude", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Identifier", + "details": "Configure SNMP object identifier", + "key": "oid", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "id" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "View", + "details": "Configure a view record", + "key": "view", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set name of the SNMP community", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "View", + "details": "Set name of the SNMP view", + "key": "view", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "read-only", + "value": "read-only" + } + ] + }, + "defaultOption": "constant", + "description": "Authorization", + "details": "Configure access permissions", + "key": "authorization", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Community", + "details": "Configure SNMP community", + "key": "community", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Name of the SNMP group", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "no-auth-no-priv", + "value": "NoAuthNoPriv" + }, + { + "key": "auth-no-priv", + "value": "AuthNoPriv" + }, + { + "key": "auth-priv", + "value": "AuthPriv" + } + ] + }, + "defaultOption": "constant", + "description": "Security Level", + "details": "Configure security level", + "key": "security-level", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "View", + "details": "Name of the SNMP view", + "key": "view", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Group", + "details": "Configure an SNMP group", + "key": "group", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name", + "security-level" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "User", + "details": "Name of the SNMP user", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "md5", + "value": "MD5" + }, + { + "key": "sha", + "value": "SHA" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Protocol", + "details": "Configure authentication protocol", + "key": "auth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Authentication Password", + "details": "Specify authentication protocol password", + "key": "auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "aes-cfb-128", + "value": "AES-CFB-128" + }, + { + "key": "aes-256-cfb-128", + "value": "AES-256-CFB-128" + } + ] + }, + "defaultOption": "ignore", + "description": "Privacy Protocol", + "details": "Configure privacy protocol", + "key": "priv", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Privacy Password", + "details": "Specify privacy protocol password", + "key": "priv-password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Group", + "details": "Name of the SNMP group", + "key": "group", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "User", + "details": "Configure an SNMP user", + "key": "user", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN ID", + "details": "Set VPN in which SNMP server is located", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "Set IPv4/IPv6 address of SNMP server", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "UDP Port", + "details": "Set UDP port number to connect to SNMP server", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Community Name", + "details": "Set name of the SNMP community", + "key": "community-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "User Name", + "details": "Set name of the SNMP user", + "key": "user", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Source Interface", + "details": "Source interface for outgoing SNMP traps", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "trap" + ], + "defaultOption": "ignore", + "description": "Trap Target", + "details": "Configure SNMP server to receive SNMP traps", + "key": "target", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "vpn-id", + "ip", + "port" + ] + } + ], + "name": "cisco_snmp", + "nameSpace": "http://viptela.com/snmp", + "xmlRootTag": "snmp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_system.json b/gen/models/feature_templates/cisco_system.json new file mode 100644 index 00000000..37fc5907 --- /dev/null +++ b/gen/models/feature_templates/cisco_system.json @@ -0,0 +1,2857 @@ +{ + "fields": [ + { + "dataPath": [ + "clock" + ], + "dataType": { + "default": "UTC", + "type": "enum", + "values": [ + { + "key": "Europe/Andorra", + "value": "Europe/Andorra" + }, + { + "key": "Asia/Dubai", + "value": "Asia/Dubai" + }, + { + "key": "Asia/Kabul", + "value": "Asia/Kabul" + }, + { + "key": "America/Antigua", + "value": "America/Antigua" + }, + { + "key": "America/Anguilla", + "value": "America/Anguilla" + }, + { + "key": "Europe/Tirane", + "value": "Europe/Tirane" + }, + { + "key": "Asia/Yerevan", + "value": "Asia/Yerevan" + }, + { + "key": "Africa/Luanda", + "value": "Africa/Luanda" + }, + { + "key": "Antarctica/McMurdo", + "value": "Antarctica/McMurdo" + }, + { + "key": "Antarctica/Rothera", + "value": "Antarctica/Rothera" + }, + { + "key": "Antarctica/Palmer", + "value": "Antarctica/Palmer" + }, + { + "key": "Antarctica/Mawson", + "value": "Antarctica/Mawson" + }, + { + "key": "Antarctica/Davis", + "value": "Antarctica/Davis" + }, + { + "key": "Antarctica/Casey", + "value": "Antarctica/Casey" + }, + { + "key": "Antarctica/Vostok", + "value": "Antarctica/Vostok" + }, + { + "key": "Antarctica/DumontDUrville", + "value": "Antarctica/DumontDUrville" + }, + { + "key": "Antarctica/Syowa", + "value": "Antarctica/Syowa" + }, + { + "key": "America/Argentina/Buenos_Aires", + "value": "America/Argentina/Buenos_Aires" + }, + { + "key": "America/Argentina/Cordoba", + "value": "America/Argentina/Cordoba" + }, + { + "key": "America/Argentina/Salta", + "value": "America/Argentina/Salta" + }, + { + "key": "America/Argentina/Jujuy", + "value": "America/Argentina/Jujuy" + }, + { + "key": "America/Argentina/Tucuman", + "value": "America/Argentina/Tucuman" + }, + { + "key": "America/Argentina/Catamarca", + "value": "America/Argentina/Catamarca" + }, + { + "key": "America/Argentina/La_Rioja", + "value": "America/Argentina/La_Rioja" + }, + { + "key": "America/Argentina/San_Juan", + "value": "America/Argentina/San_Juan" + }, + { + "key": "America/Argentina/Mendoza", + "value": "America/Argentina/Mendoza" + }, + { + "key": "America/Argentina/San_Luis", + "value": "America/Argentina/San_Luis" + }, + { + "key": "America/Argentina/Rio_Gallegos", + "value": "America/Argentina/Rio_Gallegos" + }, + { + "key": "America/Argentina/Ushuaia", + "value": "America/Argentina/Ushuaia" + }, + { + "key": "Pacific/Pago_Pago", + "value": "Pacific/Pago_Pago" + }, + { + "key": "Europe/Vienna", + "value": "Europe/Vienna" + }, + { + "key": "Australia/Lord_Howe", + "value": "Australia/Lord_Howe" + }, + { + "key": "Antarctica/Macquarie", + "value": "Antarctica/Macquarie" + }, + { + "key": "Australia/Hobart", + "value": "Australia/Hobart" + }, + { + "key": "Australia/Currie", + "value": "Australia/Currie" + }, + { + "key": "Australia/Melbourne", + "value": "Australia/Melbourne" + }, + { + "key": "Australia/Sydney", + "value": "Australia/Sydney" + }, + { + "key": "Australia/Broken_Hill", + "value": "Australia/Broken_Hill" + }, + { + "key": "Australia/Brisbane", + "value": "Australia/Brisbane" + }, + { + "key": "Australia/Lindeman", + "value": "Australia/Lindeman" + }, + { + "key": "Australia/Adelaide", + "value": "Australia/Adelaide" + }, + { + "key": "Australia/Darwin", + "value": "Australia/Darwin" + }, + { + "key": "Australia/Perth", + "value": "Australia/Perth" + }, + { + "key": "Australia/Eucla", + "value": "Australia/Eucla" + }, + { + "key": "America/Aruba", + "value": "America/Aruba" + }, + { + "key": "Europe/Mariehamn", + "value": "Europe/Mariehamn" + }, + { + "key": "Asia/Baku", + "value": "Asia/Baku" + }, + { + "key": "Europe/Sarajevo", + "value": "Europe/Sarajevo" + }, + { + "key": "America/Barbados", + "value": "America/Barbados" + }, + { + "key": "Asia/Dhaka", + "value": "Asia/Dhaka" + }, + { + "key": "Europe/Brussels", + "value": "Europe/Brussels" + }, + { + "key": "Africa/Ouagadougou", + "value": "Africa/Ouagadougou" + }, + { + "key": "Europe/Sofia", + "value": "Europe/Sofia" + }, + { + "key": "Asia/Bahrain", + "value": "Asia/Bahrain" + }, + { + "key": "Africa/Bujumbura", + "value": "Africa/Bujumbura" + }, + { + "key": "Africa/Porto-Novo", + "value": "Africa/Porto-Novo" + }, + { + "key": "America/St_Barthelemy", + "value": "America/St_Barthelemy" + }, + { + "key": "Atlantic/Bermuda", + "value": "Atlantic/Bermuda" + }, + { + "key": "Asia/Brunei", + "value": "Asia/Brunei" + }, + { + "key": "America/La_Paz", + "value": "America/La_Paz" + }, + { + "key": "America/Kralendijk", + "value": "America/Kralendijk" + }, + { + "key": "America/Noronha", + "value": "America/Noronha" + }, + { + "key": "America/Belem", + "value": "America/Belem" + }, + { + "key": "America/Fortaleza", + "value": "America/Fortaleza" + }, + { + "key": "America/Recife", + "value": "America/Recife" + }, + { + "key": "America/Araguaina", + "value": "America/Araguaina" + }, + { + "key": "America/Maceio", + "value": "America/Maceio" + }, + { + "key": "America/Bahia", + "value": "America/Bahia" + }, + { + "key": "America/Sao_Paulo", + "value": "America/Sao_Paulo" + }, + { + "key": "America/Campo_Grande", + "value": "America/Campo_Grande" + }, + { + "key": "America/Cuiaba", + "value": "America/Cuiaba" + }, + { + "key": "America/Santarem", + "value": "America/Santarem" + }, + { + "key": "America/Porto_Velho", + "value": "America/Porto_Velho" + }, + { + "key": "America/Boa_Vista", + "value": "America/Boa_Vista" + }, + { + "key": "America/Manaus", + "value": "America/Manaus" + }, + { + "key": "America/Eirunepe", + "value": "America/Eirunepe" + }, + { + "key": "America/Rio_Branco", + "value": "America/Rio_Branco" + }, + { + "key": "America/Nassau", + "value": "America/Nassau" + }, + { + "key": "Asia/Thimphu", + "value": "Asia/Thimphu" + }, + { + "key": "Africa/Gaborone", + "value": "Africa/Gaborone" + }, + { + "key": "Europe/Minsk", + "value": "Europe/Minsk" + }, + { + "key": "America/Belize", + "value": "America/Belize" + }, + { + "key": "America/St_Johns", + "value": "America/St_Johns" + }, + { + "key": "America/Halifax", + "value": "America/Halifax" + }, + { + "key": "America/Glace_Bay", + "value": "America/Glace_Bay" + }, + { + "key": "America/Moncton", + "value": "America/Moncton" + }, + { + "key": "America/Goose_Bay", + "value": "America/Goose_Bay" + }, + { + "key": "America/Blanc-Sablon", + "value": "America/Blanc-Sablon" + }, + { + "key": "America/Toronto", + "value": "America/Toronto" + }, + { + "key": "America/Nipigon", + "value": "America/Nipigon" + }, + { + "key": "America/Thunder_Bay", + "value": "America/Thunder_Bay" + }, + { + "key": "America/Iqaluit", + "value": "America/Iqaluit" + }, + { + "key": "America/Pangnirtung", + "value": "America/Pangnirtung" + }, + { + "key": "America/Resolute", + "value": "America/Resolute" + }, + { + "key": "America/Atikokan", + "value": "America/Atikokan" + }, + { + "key": "America/Rankin_Inlet", + "value": "America/Rankin_Inlet" + }, + { + "key": "America/Winnipeg", + "value": "America/Winnipeg" + }, + { + "key": "America/Rainy_River", + "value": "America/Rainy_River" + }, + { + "key": "America/Regina", + "value": "America/Regina" + }, + { + "key": "America/Swift_Current", + "value": "America/Swift_Current" + }, + { + "key": "America/Edmonton", + "value": "America/Edmonton" + }, + { + "key": "America/Cambridge_Bay", + "value": "America/Cambridge_Bay" + }, + { + "key": "America/Yellowknife", + "value": "America/Yellowknife" + }, + { + "key": "America/Inuvik", + "value": "America/Inuvik" + }, + { + "key": "America/Creston", + "value": "America/Creston" + }, + { + "key": "America/Dawson_Creek", + "value": "America/Dawson_Creek" + }, + { + "key": "America/Vancouver", + "value": "America/Vancouver" + }, + { + "key": "America/Whitehorse", + "value": "America/Whitehorse" + }, + { + "key": "America/Dawson", + "value": "America/Dawson" + }, + { + "key": "Indian/Cocos", + "value": "Indian/Cocos" + }, + { + "key": "Africa/Kinshasa", + "value": "Africa/Kinshasa" + }, + { + "key": "Africa/Lubumbashi", + "value": "Africa/Lubumbashi" + }, + { + "key": "Africa/Bangui", + "value": "Africa/Bangui" + }, + { + "key": "Africa/Brazzaville", + "value": "Africa/Brazzaville" + }, + { + "key": "Europe/Zurich", + "value": "Europe/Zurich" + }, + { + "key": "Africa/Abidjan", + "value": "Africa/Abidjan" + }, + { + "key": "Pacific/Rarotonga", + "value": "Pacific/Rarotonga" + }, + { + "key": "America/Santiago", + "value": "America/Santiago" + }, + { + "key": "Pacific/Easter", + "value": "Pacific/Easter" + }, + { + "key": "Africa/Douala", + "value": "Africa/Douala" + }, + { + "key": "Asia/Shanghai", + "value": "Asia/Shanghai" + }, + { + "key": "Asia/Harbin", + "value": "Asia/Harbin" + }, + { + "key": "Asia/Chongqing", + "value": "Asia/Chongqing" + }, + { + "key": "Asia/Urumqi", + "value": "Asia/Urumqi" + }, + { + "key": "Asia/Kashgar", + "value": "Asia/Kashgar" + }, + { + "key": "America/Bogota", + "value": "America/Bogota" + }, + { + "key": "America/Costa_Rica", + "value": "America/Costa_Rica" + }, + { + "key": "America/Havana", + "value": "America/Havana" + }, + { + "key": "Atlantic/Cape_Verde", + "value": "Atlantic/Cape_Verde" + }, + { + "key": "America/Curacao", + "value": "America/Curacao" + }, + { + "key": "Indian/Christmas", + "value": "Indian/Christmas" + }, + { + "key": "Asia/Nicosia", + "value": "Asia/Nicosia" + }, + { + "key": "Europe/Prague", + "value": "Europe/Prague" + }, + { + "key": "Europe/Berlin", + "value": "Europe/Berlin" + }, + { + "key": "Europe/Busingen", + "value": "Europe/Busingen" + }, + { + "key": "Africa/Djibouti", + "value": "Africa/Djibouti" + }, + { + "key": "Europe/Copenhagen", + "value": "Europe/Copenhagen" + }, + { + "key": "America/Dominica", + "value": "America/Dominica" + }, + { + "key": "America/Santo_Domingo", + "value": "America/Santo_Domingo" + }, + { + "key": "Africa/Algiers", + "value": "Africa/Algiers" + }, + { + "key": "America/Guayaquil", + "value": "America/Guayaquil" + }, + { + "key": "Pacific/Galapagos", + "value": "Pacific/Galapagos" + }, + { + "key": "Europe/Tallinn", + "value": "Europe/Tallinn" + }, + { + "key": "Africa/Cairo", + "value": "Africa/Cairo" + }, + { + "key": "Africa/El_Aaiun", + "value": "Africa/El_Aaiun" + }, + { + "key": "Africa/Asmara", + "value": "Africa/Asmara" + }, + { + "key": "Europe/Madrid", + "value": "Europe/Madrid" + }, + { + "key": "Africa/Ceuta", + "value": "Africa/Ceuta" + }, + { + "key": "Atlantic/Canary", + "value": "Atlantic/Canary" + }, + { + "key": "Africa/Addis_Ababa", + "value": "Africa/Addis_Ababa" + }, + { + "key": "Europe/Helsinki", + "value": "Europe/Helsinki" + }, + { + "key": "Pacific/Fiji", + "value": "Pacific/Fiji" + }, + { + "key": "Atlantic/Stanley", + "value": "Atlantic/Stanley" + }, + { + "key": "Pacific/Chuuk", + "value": "Pacific/Chuuk" + }, + { + "key": "Pacific/Pohnpei", + "value": "Pacific/Pohnpei" + }, + { + "key": "Pacific/Kosrae", + "value": "Pacific/Kosrae" + }, + { + "key": "Atlantic/Faroe", + "value": "Atlantic/Faroe" + }, + { + "key": "Europe/Paris", + "value": "Europe/Paris" + }, + { + "key": "Africa/Libreville", + "value": "Africa/Libreville" + }, + { + "key": "Europe/London", + "value": "Europe/London" + }, + { + "key": "America/Grenada", + "value": "America/Grenada" + }, + { + "key": "Asia/Tbilisi", + "value": "Asia/Tbilisi" + }, + { + "key": "America/Cayenne", + "value": "America/Cayenne" + }, + { + "key": "Europe/Guernsey", + "value": "Europe/Guernsey" + }, + { + "key": "Africa/Accra", + "value": "Africa/Accra" + }, + { + "key": "Europe/Gibraltar", + "value": "Europe/Gibraltar" + }, + { + "key": "America/Godthab", + "value": "America/Godthab" + }, + { + "key": "America/Danmarkshavn", + "value": "America/Danmarkshavn" + }, + { + "key": "America/Scoresbysund", + "value": "America/Scoresbysund" + }, + { + "key": "America/Thule", + "value": "America/Thule" + }, + { + "key": "Africa/Banjul", + "value": "Africa/Banjul" + }, + { + "key": "Africa/Conakry", + "value": "Africa/Conakry" + }, + { + "key": "America/Guadeloupe", + "value": "America/Guadeloupe" + }, + { + "key": "Africa/Malabo", + "value": "Africa/Malabo" + }, + { + "key": "Europe/Athens", + "value": "Europe/Athens" + }, + { + "key": "Atlantic/South_Georgia", + "value": "Atlantic/South_Georgia" + }, + { + "key": "America/Guatemala", + "value": "America/Guatemala" + }, + { + "key": "Pacific/Guam", + "value": "Pacific/Guam" + }, + { + "key": "Africa/Bissau", + "value": "Africa/Bissau" + }, + { + "key": "America/Guyana", + "value": "America/Guyana" + }, + { + "key": "Asia/Hong_Kong", + "value": "Asia/Hong_Kong" + }, + { + "key": "America/Tegucigalpa", + "value": "America/Tegucigalpa" + }, + { + "key": "Europe/Zagreb", + "value": "Europe/Zagreb" + }, + { + "key": "America/Port-au-Prince", + "value": "America/Port-au-Prince" + }, + { + "key": "Europe/Budapest", + "value": "Europe/Budapest" + }, + { + "key": "Asia/Jakarta", + "value": "Asia/Jakarta" + }, + { + "key": "Asia/Pontianak", + "value": "Asia/Pontianak" + }, + { + "key": "Asia/Makassar", + "value": "Asia/Makassar" + }, + { + "key": "Asia/Jayapura", + "value": "Asia/Jayapura" + }, + { + "key": "Europe/Dublin", + "value": "Europe/Dublin" + }, + { + "key": "Asia/Jerusalem", + "value": "Asia/Jerusalem" + }, + { + "key": "Europe/Isle_of_Man", + "value": "Europe/Isle_of_Man" + }, + { + "key": "Asia/Kolkata", + "value": "Asia/Kolkata" + }, + { + "key": "Indian/Chagos", + "value": "Indian/Chagos" + }, + { + "key": "Asia/Baghdad", + "value": "Asia/Baghdad" + }, + { + "key": "Asia/Tehran", + "value": "Asia/Tehran" + }, + { + "key": "Atlantic/Reykjavik", + "value": "Atlantic/Reykjavik" + }, + { + "key": "Europe/Rome", + "value": "Europe/Rome" + }, + { + "key": "Europe/Jersey", + "value": "Europe/Jersey" + }, + { + "key": "America/Jamaica", + "value": "America/Jamaica" + }, + { + "key": "Asia/Amman", + "value": "Asia/Amman" + }, + { + "key": "Asia/Tokyo", + "value": "Asia/Tokyo" + }, + { + "key": "Africa/Nairobi", + "value": "Africa/Nairobi" + }, + { + "key": "Asia/Bishkek", + "value": "Asia/Bishkek" + }, + { + "key": "Asia/Phnom_Penh", + "value": "Asia/Phnom_Penh" + }, + { + "key": "Pacific/Tarawa", + "value": "Pacific/Tarawa" + }, + { + "key": "Pacific/Enderbury", + "value": "Pacific/Enderbury" + }, + { + "key": "Pacific/Kiritimati", + "value": "Pacific/Kiritimati" + }, + { + "key": "Indian/Comoro", + "value": "Indian/Comoro" + }, + { + "key": "America/St_Kitts", + "value": "America/St_Kitts" + }, + { + "key": "Asia/Pyongyang", + "value": "Asia/Pyongyang" + }, + { + "key": "Asia/Seoul", + "value": "Asia/Seoul" + }, + { + "key": "Asia/Kuwait", + "value": "Asia/Kuwait" + }, + { + "key": "America/Cayman", + "value": "America/Cayman" + }, + { + "key": "Asia/Almaty", + "value": "Asia/Almaty" + }, + { + "key": "Asia/Qyzylorda", + "value": "Asia/Qyzylorda" + }, + { + "key": "Asia/Aqtobe", + "value": "Asia/Aqtobe" + }, + { + "key": "Asia/Aqtau", + "value": "Asia/Aqtau" + }, + { + "key": "Asia/Oral", + "value": "Asia/Oral" + }, + { + "key": "Asia/Vientiane", + "value": "Asia/Vientiane" + }, + { + "key": "Asia/Beirut", + "value": "Asia/Beirut" + }, + { + "key": "America/St_Lucia", + "value": "America/St_Lucia" + }, + { + "key": "Europe/Vaduz", + "value": "Europe/Vaduz" + }, + { + "key": "Asia/Colombo", + "value": "Asia/Colombo" + }, + { + "key": "Africa/Monrovia", + "value": "Africa/Monrovia" + }, + { + "key": "Africa/Maseru", + "value": "Africa/Maseru" + }, + { + "key": "Europe/Vilnius", + "value": "Europe/Vilnius" + }, + { + "key": "Europe/Luxembourg", + "value": "Europe/Luxembourg" + }, + { + "key": "Europe/Riga", + "value": "Europe/Riga" + }, + { + "key": "Africa/Tripoli", + "value": "Africa/Tripoli" + }, + { + "key": "Africa/Casablanca", + "value": "Africa/Casablanca" + }, + { + "key": "Europe/Monaco", + "value": "Europe/Monaco" + }, + { + "key": "Europe/Chisinau", + "value": "Europe/Chisinau" + }, + { + "key": "Europe/Podgorica", + "value": "Europe/Podgorica" + }, + { + "key": "America/Marigot", + "value": "America/Marigot" + }, + { + "key": "Indian/Antananarivo", + "value": "Indian/Antananarivo" + }, + { + "key": "Pacific/Majuro", + "value": "Pacific/Majuro" + }, + { + "key": "Pacific/Kwajalein", + "value": "Pacific/Kwajalein" + }, + { + "key": "Europe/Skopje", + "value": "Europe/Skopje" + }, + { + "key": "Africa/Bamako", + "value": "Africa/Bamako" + }, + { + "key": "Asia/Rangoon", + "value": "Asia/Rangoon" + }, + { + "key": "Asia/Ulaanbaatar", + "value": "Asia/Ulaanbaatar" + }, + { + "key": "Asia/Hovd", + "value": "Asia/Hovd" + }, + { + "key": "Asia/Choibalsan", + "value": "Asia/Choibalsan" + }, + { + "key": "Asia/Macau", + "value": "Asia/Macau" + }, + { + "key": "Pacific/Saipan", + "value": "Pacific/Saipan" + }, + { + "key": "America/Martinique", + "value": "America/Martinique" + }, + { + "key": "Africa/Nouakchott", + "value": "Africa/Nouakchott" + }, + { + "key": "America/Montserrat", + "value": "America/Montserrat" + }, + { + "key": "Europe/Malta", + "value": "Europe/Malta" + }, + { + "key": "Indian/Mauritius", + "value": "Indian/Mauritius" + }, + { + "key": "Indian/Maldives", + "value": "Indian/Maldives" + }, + { + "key": "Africa/Blantyre", + "value": "Africa/Blantyre" + }, + { + "key": "America/Mexico_City", + "value": "America/Mexico_City" + }, + { + "key": "America/Cancun", + "value": "America/Cancun" + }, + { + "key": "America/Merida", + "value": "America/Merida" + }, + { + "key": "America/Monterrey", + "value": "America/Monterrey" + }, + { + "key": "America/Matamoros", + "value": "America/Matamoros" + }, + { + "key": "America/Mazatlan", + "value": "America/Mazatlan" + }, + { + "key": "America/Chihuahua", + "value": "America/Chihuahua" + }, + { + "key": "America/Ojinaga", + "value": "America/Ojinaga" + }, + { + "key": "America/Hermosillo", + "value": "America/Hermosillo" + }, + { + "key": "America/Tijuana", + "value": "America/Tijuana" + }, + { + "key": "America/Santa_Isabel", + "value": "America/Santa_Isabel" + }, + { + "key": "America/Bahia_Banderas", + "value": "America/Bahia_Banderas" + }, + { + "key": "Asia/Kuala_Lumpur", + "value": "Asia/Kuala_Lumpur" + }, + { + "key": "Asia/Kuching", + "value": "Asia/Kuching" + }, + { + "key": "Africa/Maputo", + "value": "Africa/Maputo" + }, + { + "key": "Africa/Windhoek", + "value": "Africa/Windhoek" + }, + { + "key": "Pacific/Noumea", + "value": "Pacific/Noumea" + }, + { + "key": "Africa/Niamey", + "value": "Africa/Niamey" + }, + { + "key": "Pacific/Norfolk", + "value": "Pacific/Norfolk" + }, + { + "key": "Africa/Lagos", + "value": "Africa/Lagos" + }, + { + "key": "America/Managua", + "value": "America/Managua" + }, + { + "key": "Europe/Amsterdam", + "value": "Europe/Amsterdam" + }, + { + "key": "Europe/Oslo", + "value": "Europe/Oslo" + }, + { + "key": "Asia/Kathmandu", + "value": "Asia/Kathmandu" + }, + { + "key": "Pacific/Nauru", + "value": "Pacific/Nauru" + }, + { + "key": "Pacific/Niue", + "value": "Pacific/Niue" + }, + { + "key": "Pacific/Auckland", + "value": "Pacific/Auckland" + }, + { + "key": "Pacific/Chatham", + "value": "Pacific/Chatham" + }, + { + "key": "Asia/Muscat", + "value": "Asia/Muscat" + }, + { + "key": "America/Panama", + "value": "America/Panama" + }, + { + "key": "America/Lima", + "value": "America/Lima" + }, + { + "key": "Pacific/Tahiti", + "value": "Pacific/Tahiti" + }, + { + "key": "Pacific/Marquesas", + "value": "Pacific/Marquesas" + }, + { + "key": "Pacific/Gambier", + "value": "Pacific/Gambier" + }, + { + "key": "Pacific/Port_Moresby", + "value": "Pacific/Port_Moresby" + }, + { + "key": "Asia/Manila", + "value": "Asia/Manila" + }, + { + "key": "Asia/Karachi", + "value": "Asia/Karachi" + }, + { + "key": "Europe/Warsaw", + "value": "Europe/Warsaw" + }, + { + "key": "America/Miquelon", + "value": "America/Miquelon" + }, + { + "key": "Pacific/Pitcairn", + "value": "Pacific/Pitcairn" + }, + { + "key": "America/Puerto_Rico", + "value": "America/Puerto_Rico" + }, + { + "key": "Asia/Gaza", + "value": "Asia/Gaza" + }, + { + "key": "Asia/Hebron", + "value": "Asia/Hebron" + }, + { + "key": "Europe/Lisbon", + "value": "Europe/Lisbon" + }, + { + "key": "Atlantic/Madeira", + "value": "Atlantic/Madeira" + }, + { + "key": "Atlantic/Azores", + "value": "Atlantic/Azores" + }, + { + "key": "Pacific/Palau", + "value": "Pacific/Palau" + }, + { + "key": "America/Asuncion", + "value": "America/Asuncion" + }, + { + "key": "Asia/Qatar", + "value": "Asia/Qatar" + }, + { + "key": "Indian/Reunion", + "value": "Indian/Reunion" + }, + { + "key": "Europe/Bucharest", + "value": "Europe/Bucharest" + }, + { + "key": "Europe/Belgrade", + "value": "Europe/Belgrade" + }, + { + "key": "Europe/Kaliningrad", + "value": "Europe/Kaliningrad" + }, + { + "key": "Europe/Moscow", + "value": "Europe/Moscow" + }, + { + "key": "Europe/Volgograd", + "value": "Europe/Volgograd" + }, + { + "key": "Europe/Samara", + "value": "Europe/Samara" + }, + { + "key": "Asia/Yekaterinburg", + "value": "Asia/Yekaterinburg" + }, + { + "key": "Asia/Omsk", + "value": "Asia/Omsk" + }, + { + "key": "Asia/Novosibirsk", + "value": "Asia/Novosibirsk" + }, + { + "key": "Asia/Novokuznetsk", + "value": "Asia/Novokuznetsk" + }, + { + "key": "Asia/Krasnoyarsk", + "value": "Asia/Krasnoyarsk" + }, + { + "key": "Asia/Irkutsk", + "value": "Asia/Irkutsk" + }, + { + "key": "Asia/Yakutsk", + "value": "Asia/Yakutsk" + }, + { + "key": "Asia/Khandyga", + "value": "Asia/Khandyga" + }, + { + "key": "Asia/Vladivostok", + "value": "Asia/Vladivostok" + }, + { + "key": "Asia/Sakhalin", + "value": "Asia/Sakhalin" + }, + { + "key": "Asia/Ust-Nera", + "value": "Asia/Ust-Nera" + }, + { + "key": "Asia/Magadan", + "value": "Asia/Magadan" + }, + { + "key": "Asia/Kamchatka", + "value": "Asia/Kamchatka" + }, + { + "key": "Asia/Anadyr", + "value": "Asia/Anadyr" + }, + { + "key": "Africa/Kigali", + "value": "Africa/Kigali" + }, + { + "key": "Asia/Riyadh", + "value": "Asia/Riyadh" + }, + { + "key": "Pacific/Guadalcanal", + "value": "Pacific/Guadalcanal" + }, + { + "key": "Indian/Mahe", + "value": "Indian/Mahe" + }, + { + "key": "Africa/Khartoum", + "value": "Africa/Khartoum" + }, + { + "key": "Europe/Stockholm", + "value": "Europe/Stockholm" + }, + { + "key": "Asia/Singapore", + "value": "Asia/Singapore" + }, + { + "key": "Atlantic/St_Helena", + "value": "Atlantic/St_Helena" + }, + { + "key": "Europe/Ljubljana", + "value": "Europe/Ljubljana" + }, + { + "key": "Arctic/Longyearbyen", + "value": "Arctic/Longyearbyen" + }, + { + "key": "Europe/Bratislava", + "value": "Europe/Bratislava" + }, + { + "key": "Africa/Freetown", + "value": "Africa/Freetown" + }, + { + "key": "Europe/San_Marino", + "value": "Europe/San_Marino" + }, + { + "key": "Africa/Dakar", + "value": "Africa/Dakar" + }, + { + "key": "Africa/Mogadishu", + "value": "Africa/Mogadishu" + }, + { + "key": "America/Paramaribo", + "value": "America/Paramaribo" + }, + { + "key": "Africa/Juba", + "value": "Africa/Juba" + }, + { + "key": "Africa/Sao_Tome", + "value": "Africa/Sao_Tome" + }, + { + "key": "America/El_Salvador", + "value": "America/El_Salvador" + }, + { + "key": "America/Lower_Princes", + "value": "America/Lower_Princes" + }, + { + "key": "Asia/Damascus", + "value": "Asia/Damascus" + }, + { + "key": "Africa/Mbabane", + "value": "Africa/Mbabane" + }, + { + "key": "America/Grand_Turk", + "value": "America/Grand_Turk" + }, + { + "key": "Africa/Ndjamena", + "value": "Africa/Ndjamena" + }, + { + "key": "Indian/Kerguelen", + "value": "Indian/Kerguelen" + }, + { + "key": "Africa/Lome", + "value": "Africa/Lome" + }, + { + "key": "Asia/Bangkok", + "value": "Asia/Bangkok" + }, + { + "key": "Asia/Dushanbe", + "value": "Asia/Dushanbe" + }, + { + "key": "Pacific/Fakaofo", + "value": "Pacific/Fakaofo" + }, + { + "key": "Asia/Dili", + "value": "Asia/Dili" + }, + { + "key": "Asia/Ashgabat", + "value": "Asia/Ashgabat" + }, + { + "key": "Africa/Tunis", + "value": "Africa/Tunis" + }, + { + "key": "Pacific/Tongatapu", + "value": "Pacific/Tongatapu" + }, + { + "key": "Europe/Istanbul", + "value": "Europe/Istanbul" + }, + { + "key": "America/Port_of_Spain", + "value": "America/Port_of_Spain" + }, + { + "key": "Pacific/Funafuti", + "value": "Pacific/Funafuti" + }, + { + "key": "Asia/Taipei", + "value": "Asia/Taipei" + }, + { + "key": "Africa/Dar_es_Salaam", + "value": "Africa/Dar_es_Salaam" + }, + { + "key": "Europe/Kiev", + "value": "Europe/Kiev" + }, + { + "key": "Europe/Uzhgorod", + "value": "Europe/Uzhgorod" + }, + { + "key": "Europe/Zaporozhye", + "value": "Europe/Zaporozhye" + }, + { + "key": "Europe/Simferopol", + "value": "Europe/Simferopol" + }, + { + "key": "Africa/Kampala", + "value": "Africa/Kampala" + }, + { + "key": "Pacific/Johnston", + "value": "Pacific/Johnston" + }, + { + "key": "Pacific/Midway", + "value": "Pacific/Midway" + }, + { + "key": "Pacific/Wake", + "value": "Pacific/Wake" + }, + { + "key": "America/New_York", + "value": "America/New_York" + }, + { + "key": "America/Detroit", + "value": "America/Detroit" + }, + { + "key": "America/Kentucky/Louisville", + "value": "America/Kentucky/Louisville" + }, + { + "key": "America/Kentucky/Monticello", + "value": "America/Kentucky/Monticello" + }, + { + "key": "America/Indiana/Indianapolis", + "value": "America/Indiana/Indianapolis" + }, + { + "key": "America/Indiana/Vincennes", + "value": "America/Indiana/Vincennes" + }, + { + "key": "America/Indiana/Winamac", + "value": "America/Indiana/Winamac" + }, + { + "key": "America/Indiana/Marengo", + "value": "America/Indiana/Marengo" + }, + { + "key": "America/Indiana/Petersburg", + "value": "America/Indiana/Petersburg" + }, + { + "key": "America/Indiana/Vevay", + "value": "America/Indiana/Vevay" + }, + { + "key": "America/Chicago", + "value": "America/Chicago" + }, + { + "key": "America/Indiana/Tell_City", + "value": "America/Indiana/Tell_City" + }, + { + "key": "America/Indiana/Knox", + "value": "America/Indiana/Knox" + }, + { + "key": "America/Menominee", + "value": "America/Menominee" + }, + { + "key": "America/North_Dakota/Center", + "value": "America/North_Dakota/Center" + }, + { + "key": "America/North_Dakota/New_Salem", + "value": "America/North_Dakota/New_Salem" + }, + { + "key": "America/North_Dakota/Beulah", + "value": "America/North_Dakota/Beulah" + }, + { + "key": "America/Denver", + "value": "America/Denver" + }, + { + "key": "America/Boise", + "value": "America/Boise" + }, + { + "key": "America/Phoenix", + "value": "America/Phoenix" + }, + { + "key": "America/Los_Angeles", + "value": "America/Los_Angeles" + }, + { + "key": "America/Anchorage", + "value": "America/Anchorage" + }, + { + "key": "America/Juneau", + "value": "America/Juneau" + }, + { + "key": "America/Sitka", + "value": "America/Sitka" + }, + { + "key": "America/Yakutat", + "value": "America/Yakutat" + }, + { + "key": "America/Nome", + "value": "America/Nome" + }, + { + "key": "America/Adak", + "value": "America/Adak" + }, + { + "key": "America/Metlakatla", + "value": "America/Metlakatla" + }, + { + "key": "Pacific/Honolulu", + "value": "Pacific/Honolulu" + }, + { + "key": "America/Montevideo", + "value": "America/Montevideo" + }, + { + "key": "Asia/Samarkand", + "value": "Asia/Samarkand" + }, + { + "key": "Asia/Tashkent", + "value": "Asia/Tashkent" + }, + { + "key": "Europe/Vatican", + "value": "Europe/Vatican" + }, + { + "key": "America/St_Vincent", + "value": "America/St_Vincent" + }, + { + "key": "America/Caracas", + "value": "America/Caracas" + }, + { + "key": "America/Tortola", + "value": "America/Tortola" + }, + { + "key": "America/St_Thomas", + "value": "America/St_Thomas" + }, + { + "key": "Asia/Ho_Chi_Minh", + "value": "Asia/Ho_Chi_Minh" + }, + { + "key": "Pacific/Efate", + "value": "Pacific/Efate" + }, + { + "key": "Pacific/Wallis", + "value": "Pacific/Wallis" + }, + { + "key": "Pacific/Apia", + "value": "Pacific/Apia" + }, + { + "key": "Asia/Aden", + "value": "Asia/Aden" + }, + { + "key": "Indian/Mayotte", + "value": "Indian/Mayotte" + }, + { + "key": "Africa/Johannesburg", + "value": "Africa/Johannesburg" + }, + { + "key": "Africa/Lusaka", + "value": "Africa/Lusaka" + }, + { + "key": "Africa/Harare", + "value": "Africa/Harare" + }, + { + "key": "UTC", + "value": "UTC" + } + ] + }, + "defaultOption": "ignore", + "description": "Timezone", + "details": "Set the timezone", + "key": "timezone", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "variable", + "description": "Hostname", + "details": "Set the hostname", + "key": "host-name", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set a text description of the device", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Location", + "details": "Set the location of the device", + "key": "location", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location" + ], + "dataType": { + "max": 90, + "min": -90, + "type": "float" + }, + "defaultOption": "ignore", + "description": "Latitude", + "details": "Set the device\u2019s physical latitude", + "key": "latitude", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location" + ], + "dataType": { + "max": 180, + "min": -180, + "type": "float" + }, + "defaultOption": "ignore", + "description": "Longitude", + "details": "Set the device\u2019s physical longitude", + "key": "longitude", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location", + "geo-fencing" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Geo Fencing Enable", + "details": "Enable Geo fencing", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location", + "geo-fencing" + ], + "dataType": { + "default": 100, + "max": 10000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Geo Fencing Range in meters", + "details": "Set the device\u2019s geo fencing range", + "key": "range", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location", + "geo-fencing", + "sms" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable SMS", + "details": "Enable device\u2019s geo fencing SMS", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 20, + "minLength": 7, + "type": "string" + }, + "defaultOption": "constant", + "description": "Mobile number", + "details": "Mobile number, ex: +1231234414", + "key": "number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "gps-location", + "geo-fencing", + "sms" + ], + "defaultOption": "ignore", + "description": "Geo fencing SMS phone number", + "details": "Set device\u2019s geo fencing SMS phone number", + "key": "mobile-number", + "maxElements": 4, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "number" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Device Groups", + "details": "Device groups (Use comma(,) for multiple groups)", + "key": "device-groups", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Controller Groups", + "details": "Configure a list of comma-separated device groups", + "key": "controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "variable", + "description": "System IP", + "details": "Set the system IP address", + "key": "system-ip", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Overlay ID", + "details": "Set the Overlay ID", + "key": "overlay-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "Site ID", + "details": "Set the site identifier", + "key": "site-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 19, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Port Offset", + "details": "Set the TLOC port offset when multiple devices are behind a NAT", + "key": "port-offset", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hopping", + "details": "Enable port hopping", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Control Session Policer Rate (pps)", + "details": "Set the policer rate for control sessions", + "key": "control-session-pps", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track Transport", + "details": "Configure tracking of transport", + "key": "track-transport", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Track Interface", + "details": "OMP Tag attached to routes based on interface tracking", + "key": "track-interface-tag", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "9600", + "type": "enum", + "values": [ + { + "key": "1200", + "value": "1200" + }, + { + "key": "2400", + "value": "2400" + }, + { + "key": "4800", + "value": "4800" + }, + { + "key": "9600", + "value": "9600" + }, + { + "key": "19200", + "value": "19200" + }, + { + "key": "38400", + "value": "38400" + }, + { + "key": "57600", + "value": "57600" + }, + { + "key": "115200", + "value": "115200" + } + ] + }, + "defaultOption": "constant", + "description": "Console Baud Rate (bps)", + "details": "Set the console baud rate", + "key": "console-baud-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum OMP Sessions", + "details": "Set the maximum number of OMP sessions <1..100> the device can have", + "key": "max-omp-sessions", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Multi Tenant", + "details": "Device is multi-tenant", + "key": "multi-tenant", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Gateway Tracking", + "details": "Enable or disable default gateway tracking", + "key": "track-default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Collect Admin Tech on Reboot", + "details": "Collect admin-tech before reboot due to daemon failure", + "key": "admin-tech-on-failure", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 300, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Idle Timeout", + "details": "Idle CLI timeout in minutes", + "key": "idle-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Tracker name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Endpoint IP", + "details": "IP address of endpoint", + "key": "endpoint-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "endpoint-ip-transport-port" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Endpoint IP", + "details": "IP address of endpoint", + "key": "endpoint-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "endpoint-ip-transport-port" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "transport protocol: TCP/UDP", + "details": "transport protocol: TCP/UDP", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "endpoint-ip-transport-port" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Endpoint port", + "details": "TCP/UDP port pf endpoint", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 63, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "Endpoint DNS Name", + "details": "DNS name of endpoint", + "key": "endpoint-dns-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 512, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "API url of endpoint", + "details": "API url of endpoint", + "key": "endpoint-api-url", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 257, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tracker Elements", + "details": "Tracker member names separated by space", + "key": "elements", + "maxElements": 2, + "minElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "or", + "type": "radioButtonList", + "values": [ + { + "label": "or", + "value": "or" + }, + { + "label": "and", + "value": "and" + } + ] + }, + "defaultOption": "ignore", + "description": "Tracker Boolean", + "details": "Type of grouping to be performed for tracker group", + "key": "boolean", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 1000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold", + "details": "Probe Timeout threshold <100..1000> milliseconds", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 60, + "max": 600, + "min": 20, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "Probe interval <10..600> seconds", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 3, + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Probe failure multiplier <1..10> failed attempts", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "interface", + "type": "enum", + "values": [ + { + "key": "interface", + "value": "interface" + }, + { + "key": "static-route", + "value": "static-route" + } + ] + }, + "defaultOption": "ignore", + "description": "Tracker Type", + "details": "Default(Interface)", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Tracker", + "details": "Tracker configuration", + "key": "tracker", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Object ID", + "details": "Object tracker ID", + "key": "object-number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface", + "details": "interface name", + "key": "interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "default": "global", + "defaultOption": "constant", + "description": "SIG", + "details": "service sig", + "key": "sig", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Route IP", + "details": "IP address of route", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "0.0.0.0", + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Route Ip Mask", + "details": "Route Ip Mask", + "key": "mask", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Track ID", + "details": "Track id", + "key": "number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Group Tracks ID", + "details": "Tracks id in group configuration", + "key": "object", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "number" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "radioButtonList", + "values": [ + { + "label": "and", + "value": "and" + }, + { + "label": "or", + "value": "or" + } + ] + }, + "defaultOption": "constant", + "description": "Criteria", + "details": "Type of grouping to be performed for tracker group", + "key": "boolean", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Track", + "details": "Object Track configuration", + "key": "object-track", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "object-number" + ] + }, + { + "dataPath": [ + "on-demand" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "On-demand Tunnel", + "details": "Enable or disable On-demand Tunnel", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "on-demand" + ], + "dataType": { + "default": 10, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "On-demand Tunnel Idle Timeout(min)", + "details": "Set the idle timeout for on-demand tunnels", + "key": "idle-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Region ID", + "details": "Set region ID", + "key": "region-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Secondary Region ID", + "details": "Set secondary region ID", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "edge-router", + "value": "Edge Router" + }, + { + "key": "border-router", + "value": "Border Router" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Set the role for router", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "affinity-group" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Affinity Group Number", + "details": "Set the affinity group number for router", + "key": "affinity-group-number", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "affinity-group" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Affinity Group Preference", + "details": "Set the affinity group preference", + "key": "preference", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Transport Gateway", + "details": "Enable transport gateway", + "key": "transport-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "enabled", + "value": "Enable" + }, + { + "key": "enabled-from-bgp-core", + "value": "Enable from BGP Core" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Migration Mode to Multi-Region Fabric", + "details": "Enable migration mode to Multi-Region Fabric", + "key": "enable-mrf-migration", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Migration BGP Community", + "details": "Set BGP community during migration from BGP-core based network", + "key": "migration-bgp-community", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "name": "cisco_system", + "nameSpace": "http://viptela.com/system", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_thousandeyes.json b/gen/models/feature_templates/cisco_thousandeyes.json new file mode 100644 index 00000000..707f9117 --- /dev/null +++ b/gen/models/feature_templates/cisco_thousandeyes.json @@ -0,0 +1,262 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "1", + "maxLength": 36, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "Virtual Application Instance", + "details": "List of Virtual applications", + "key": "instance-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "te", + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "Virtual Application Type", + "details": "List of Virtual applications", + "key": "application-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "maxLength": 210, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Account Group Token", + "details": "Set the Account Group Token", + "key": "token", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "VPN number", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Agent IP Address", + "details": "Set the Agent IP Address", + "key": "te-mgmt-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Agent default gateway", + "details": "Set the Agent default gateway", + "key": "te-vpg-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Name Server", + "details": "Set the name server", + "key": "name-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "maxLength": 235, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Hostname", + "details": "Set the host name", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "te" + ], + "dataType": { + "default": "none", + "type": "radioButtonList", + "values": [ + { + "label": "None", + "value": "none" + }, + { + "label": "Static", + "value": "static" + }, + { + "label": "PAC", + "value": "pac" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Web Proxy Type", + "details": "Web Proxy Type", + "key": "proxy_type", + "objectType": "object", + "optionType": [ + "constant", + "notIgnore" + ] + }, + { + "dataPath": [ + "te", + "proxy_static" + ], + "dataType": { + "maxLength": 174, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Proxy Host", + "details": "Set the proxy host", + "key": "proxy_host", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "te", + "proxy_static" + ], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Proxy Port", + "details": "Set the proxy port", + "key": "proxy_port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "te", + "proxy_pac" + ], + "dataType": { + "maxLength": 183, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "PAC URL", + "details": "PAC URL", + "key": "pac_url", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Virtual Application", + "details": "Virtual application Instance", + "key": "virtual-application", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "application-type" + ] + } + ], + "name": "cisco_thousandeyes", + "nameSpace": "http://cisco.com/ns/yang/Cisco-IOS-XE-app-hosting", + "xmlPath": [], + "xmlRootTag": "virtual-applications" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_trustsec.json b/gen/models/feature_templates/cisco_trustsec.json new file mode 100644 index 00000000..52faa8ed --- /dev/null +++ b/gen/models/feature_templates/cisco_trustsec.json @@ -0,0 +1,515 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 65519, + "min": 2, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Device SGT", + "details": "Configure Local device security group <2..65519>", + "key": "device-sgt", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Credentials ID", + "details": "Specify the TrustSec Network Access Device ID, should be same as mentioned in the Identity Services Engine (upto 32 char)", + "key": "credentials-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Credentials Password", + "details": "Set the password for the device", + "key": "credentials-password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Enforcement", + "details": "Enable Role-based Access Control enforcement", + "key": "enable-enforcement", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable SXP", + "details": "Enable CTS SXP support", + "key": "enable-sxp", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Source IP", + "details": "SXP Source IP", + "key": "sxp-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Password", + "details": "Configure SXP default password", + "key": "sxp-default-password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Key Chain Name", + "details": "Configure SXP key-chain", + "key": "sxp-key-chain", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Log Binding Changes", + "details": "Enables logging for IP-to-SGT binding changes", + "key": "sxp-log-binding-changes", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": 120, + "max": 64000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Reconciliation Period (seconds)", + "details": "Configure the SXP reconciliation period in seconds <0..64000>", + "key": "sxp-reconciliation-period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": 120, + "max": 64000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Retry Period (seconds)", + "details": "Configure Retry period for SXP connection in seconds <0..64000>", + "key": "sxp-retry-period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": 120, + "max": 65534, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Speaker Hold Time (seconds)", + "details": "Configure Speaker hold-time in seconds <1..65534>", + "key": "speaker-hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": 90, + "max": 65534, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Minimum Listener Hold Time (seconds)", + "details": "Configure Minimum allowed hold-time for listener in seconds <1..65534>", + "key": "listener-hold-time-min", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": 180, + "max": 65534, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Listener Hold Time (seconds)", + "details": "Configure Maximum allowed hold-time for listener in seconds <1..65534>", + "key": "listener-hold-time-max", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "default": "ip", + "type": "radioButtonList", + "values": [ + { + "label": "IP", + "value": "ip" + }, + { + "label": "Interface Name", + "value": "interface-name" + }, + { + "label": "8 Char Hex String", + "value": "8-char-hex-string" + } + ] + }, + "defaultOption": "constant", + "description": "Node ID Type", + "details": "Define SXP Node ID type ", + "key": "sxp-node-id-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "sxp-default" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Node ID", + "details": "Configure SXP Node ID ", + "key": "sxp-node-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Peer IP", + "details": "Configure SXP Peer IP address (IPv4)", + "key": "connection-peer-ip", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Source IP", + "details": "Configure SXP Source IP address (IPv4)", + "key": "connection-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "radioButtonList", + "values": [ + { + "label": "Password", + "value": "default" + }, + { + "label": "Key Chain", + "value": "key-chain" + }, + { + "label": "None", + "value": "none" + } + ] + }, + "defaultOption": "constant", + "description": "Preshared Key", + "details": "Define Preshared Key type", + "key": "connection-preshared-key", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "local", + "type": "radioButtonList", + "values": [ + { + "label": "Local", + "value": "local" + }, + { + "label": "Peer", + "value": "peer" + } + ] + }, + "defaultOption": "constant", + "description": "Mode", + "details": "Define Mode of connection", + "key": "connection-mode", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "speaker", + "type": "radioButtonList", + "values": [ + { + "label": "Listener", + "value": "listener" + }, + { + "label": "Speaker", + "value": "speaker" + }, + { + "label": "Both", + "value": "both" + } + ] + }, + "defaultOption": "constant", + "description": "Mode Type", + "details": "Define Role of a device ", + "key": "connection-mode-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Minimum Hold Time", + "details": "Configure Connection Minimum hold time <0..65535>", + "key": "connection-min-hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Hold Time", + "details": "Configure Connection Maximum hold time <0..65535>", + "key": "connection-max-hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Configure Connection VPN (VRF) ID", + "key": "connection-vpn-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "SXP Connection List", + "details": "Configure SXP Connections", + "key": "sxp-connection-list", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "connection-peer-ip" + ] + } + ], + "name": "cisco_trustsec", + "nameSpace": "http://viptela.com/trustsec-root", + "xmlPath": [], + "xmlRootTag": "trustsec-root" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_vpn.json b/gen/models/feature_templates/cisco_vpn.json new file mode 100644 index 00000000..3f35fca2 --- /dev/null +++ b/gen/models/feature_templates/cisco_vpn.json @@ -0,0 +1,2453 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "List of VPN instances", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Name", + "details": "Name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Tenant VPN", + "details": "Tenant VPN", + "key": "tenant-vpn-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Select Tenant", + "details": "Org Name selected", + "key": "org-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "OMP Admin Distance IPv4", + "details": "omp-admin-distance-ipv4", + "key": "omp-admin-distance-ipv4", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "OMP Admin Distance IPv6", + "details": "omp-admin-distance-ipv6", + "key": "omp-admin-distance-ipv6", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "DNS Address", + "details": "DNS Address", + "key": "dns-addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "primary", + "type": "enum", + "values": [ + { + "key": "primary", + "value": "Primary" + }, + { + "key": "secondary", + "value": "Secondary" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "DNS", + "details": "DNS", + "key": "dns", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "dns-addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "DNS Address", + "details": "DNS Address", + "key": "dns-addr", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "primary", + "type": "enum", + "values": [ + { + "key": "primary", + "value": "Primary" + }, + { + "key": "secondary", + "value": "Secondary" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "DNS", + "details": "DNS", + "key": "dns-ipv6", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "dns-addr" + ] + }, + { + "dataPath": [ + "ecmp-hash-key" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enhance ECMP Keying", + "details": "Optional packet fields for ECMP keying", + "key": "layer4", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "dnsHostName" + }, + "defaultOption": "constant", + "description": "Hostname", + "details": "Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 8, + "type": "ip" + }, + "defaultOption": "constant", + "description": "List of IP", + "details": "List of IP", + "key": "ip", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static DNS Mapping", + "details": "Static DNS mapping", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "hostname" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "FW", + "value": "FW" + }, + { + "key": "IDS", + "value": "IDS" + }, + { + "key": "IDP", + "value": "IDP" + }, + { + "key": "netsvc1", + "value": "netsvc1" + }, + { + "key": "netsvc2", + "value": "netsvc2" + }, + { + "key": "netsvc3", + "value": "netsvc3" + }, + { + "key": "netsvc4", + "value": "netsvc4" + }, + { + "key": "TE", + "value": "TE" + }, + { + "key": "appqoe", + "value": "appqoe" + } + ] + }, + "defaultOption": "constant", + "description": "Service Type", + "details": "Service Type", + "key": "svc-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IPv4 address", + "details": "List of IPv4 address", + "key": "address", + "maxChildren": "4", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": "string", + "defaultOption": "constant", + "description": "Interface", + "details": "Tracking Service", + "key": "interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Tracking", + "details": "Tracking Service", + "key": "track-enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Service", + "details": "Configure services", + "key": "service", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "svc-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 0, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Destination VPN to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "sig", + "type": "enum", + "values": [ + { + "key": "sig", + "value": "SIG" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Service", + "details": "Service", + "key": "service", + "objectType": "object", + "optionType": [ + "constant", + "notIgnore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static Service Route", + "details": "Configure IPv4 Static Service Routes", + "key": "service-route", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Tracker", + "details": "Static route tracker", + "key": "tracker", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop-with-track", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "null0", + "details": "null0", + "key": "null0", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "range": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "Destination VPN(!=0 or !=512) to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Default Gateway obtained from DHCP", + "key": "dhcp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static Route", + "details": "Configure IPv4 Static Routes", + "key": "route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "null0", + "details": "null0", + "key": "null0", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "range": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "Destination VPN(!=0 or !=512) to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "NAT64", + "type": "radioButtonList", + "values": [ + { + "label": "NAT64", + "value": "NAT64" + }, + { + "label": "NAT66", + "value": "NAT66" + } + ] + }, + "defaultOption": "constant", + "description": "NAT", + "details": "NAT", + "key": "nat", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "IPv6 Static Route", + "details": "Configure IPv6 Static Routes", + "key": "route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 0, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Destination VPN to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "GRE Interface (Maximum entries allowed: 2)", + "details": "List of GRE Interfaces", + "key": "interface", + "maxChildren": "2", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static GRE Route", + "details": "Configure routes pointing to a GRE tunnel", + "key": "gre-route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 0, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Destination VPN to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "interfaceList" + }, + "defaultOption": "ignore", + "description": "IPSEC Interface (Maximum entries allowed: 2)", + "details": "List of IPSEC Interfaces (Separated by commas)", + "key": "interface", + "maxChildren": "2", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static IPSEC Route", + "details": "Configure routes pointing to a IPSEC tunnel", + "key": "ipsec-route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "ospf", + "value": "OSPF" + }, + { + "key": "ospfv3", + "value": "OSPFV3" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "network", + "value": "Network" + }, + { + "key": "aggregate", + "value": "Aggregate" + }, + { + "key": "eigrp", + "value": "EIGRP" + }, + { + "key": "lisp", + "value": "LISP" + }, + { + "key": "isis", + "value": "ISIS" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Advertised routes protocol", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set Route Policy to OMP", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "external", + "value": "External" + } + ] + }, + "defaultOption": "ignore", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix-entry", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Aggregate Only", + "details": "Aggregate Only", + "key": "aggregate-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "key": "prefix-list", + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix-entry" + ] + } + ], + "dataPath": [ + "omp" + ], + "defaultOption": "ignore", + "description": "Advertise", + "details": "Advertise routes to OMP", + "key": "advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "ospf", + "value": "Ospf" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "network", + "value": "Network" + }, + { + "key": "aggregate", + "value": "Aggregate" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Advertised routes protocol", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "external", + "value": "External" + } + ] + }, + "defaultOption": "ignore", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix-entry", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Aggregate Only", + "details": "Aggregate Only", + "key": "aggregate-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "key": "prefix-list", + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix-entry" + ] + } + ], + "dataPath": [ + "omp" + ], + "defaultOption": "ignore", + "description": "Advertise", + "details": "Advertise routes to OMP", + "key": "ipv6-advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "NAT64 Pool name", + "details": "NAT64 Pool name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT 64 v4 Pool Range Start", + "details": "Starting IP address of NAT pool range", + "key": "start-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT 64 v4 Pool Range End", + "details": "Ending IP address of NAT pool range", + "key": "end-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT 64 Overload", + "details": "NAT 64 Overload Option", + "key": "overload", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Enable Route Leaking from Global VPN", + "details": "Enable Route Leaking from Global VPN to this Service VPN", + "key": "leak_from_global", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "all", + "value": "All" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "mobile", + "value": "Mobile" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "rip", + "value": "Rip" + }, + { + "key": "odr", + "value": "Odr" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Select protocol for route leaking", + "key": "leak_from_global_protocol", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Enable Route Leaking to Global VPN", + "details": "Enable Route Leaking from this Service VPN to Global VPN", + "key": "leak_to_global", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "nat64", + "v4" + ], + "defaultOption": "ignore", + "description": "NAT64 V4 Pool", + "details": "Set NAT64 v4 pool range", + "key": "pool", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 31, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "NAT Pool Name", + "details": "NAT Pool Name, natpool1..31", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "NAT Pool Prefix Length", + "details": "Ending IP address of NAT Pool Prefix Length", + "key": "prefix-length", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT Pool Range Start", + "details": "Starting IP address of NAT pool range", + "key": "range-start", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT Pool Range End", + "details": "Ending IP address of NAT pool range", + "key": "range-end", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT Overload", + "details": "Enable port translation(PAT)", + "key": "overload", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "inside", + "value": "Inside" + }, + { + "key": "outside", + "value": "Outside" + } + ] + }, + "defaultOption": "constant", + "description": "NAT Direction", + "details": "Direction of NAT translation", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Add Object/Object Group Tracker", + "details": "Add Object/Object Group Tracker", + "key": "tracker-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "NAT Pool", + "details": "Configure NAT Pool entries", + "key": "natpool", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "NAT Pool Name", + "details": "NAT Pool Name, natpool1..31", + "key": "pool-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP Address", + "details": "Source IP address to be translated", + "key": "source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translated Source IP Address", + "details": "Statically translated source IP address", + "key": "translate-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "inside", + "value": "Inside" + }, + { + "key": "outside", + "value": "Outside" + } + ] + }, + "defaultOption": "constant", + "description": "Static NAT Direction", + "details": "Direction of static NAT translation", + "key": "static-nat-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Add Object/Object Group Tracker", + "details": "Add Object/Object Group Tracker", + "key": "tracker-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Static NAT Rules", + "details": "Configure static NAT entries", + "key": "static", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-ip", + "translate-ip" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP Subnet", + "details": "Source IP Subnet to be translated", + "key": "source-ip-subnet", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translated Source IP Subnet", + "details": "Statically translated source IP Subnet", + "key": "translate-ip-subnet", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Network Prefix Length", + "details": "Network Prefix Length", + "key": "prefix-length", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "inside", + "value": "Inside" + }, + { + "key": "outside", + "value": "Outside" + } + ] + }, + "defaultOption": "constant", + "description": "Static NAT Direction", + "details": "Direction of static NAT translation", + "key": "static-nat-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Add Object/Object Group Tracker", + "details": "Add Object/Object Group Tracker", + "key": "tracker-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Static NAT Subnet Rules", + "details": "Configure static NAT Subnet entries", + "key": "subnet-static", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-ip-subnet", + "translate-ip-subnet" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "NAT Pool Name", + "details": "NAT Pool Name, natpool1..31", + "key": "pool-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Source Port", + "details": "Source Port", + "key": "source-port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Translate Port", + "details": "Translate Port", + "key": "translate-port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP Address", + "details": "Source IP address to be translated", + "key": "source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translated Source IP Address", + "details": "Statically translated source IP address", + "key": "translate-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "TCP" + }, + { + "key": "udp", + "value": "UDP" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Protocol", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port Forward", + "details": "Configure Port Forward entries", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-port", + "translate-port", + "source-ip", + "translate-ip", + "proto" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Route Protocol Leak from Global to Service", + "details": "Select a Route Protocol to enable route leaking from Global VPN to this Service VPN", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "external", + "type": "enum", + "values": [ + { + "key": "external", + "value": "external" + } + ] + }, + "defaultOption": "constant", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "Route Policy Leak from Global to Service", + "details": "Select a Route Policy to enable route leaking from Global VPN to this Service VPN", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Select a Route Protocol to enable redistribution", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "Redistribution Policy", + "details": "Select a Route Policy to enable redistribution", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Redistribute To Protocol", + "details": "Enable redistribution of replicated route protocol", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Enable route leaking from Global VPN", + "details": "Enable route leaking from Global VPN to this Service VPN", + "key": "route-import", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 65530, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Source VPN", + "details": "Select a Source VPN where route leaks from", + "key": "source-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "ospf", + "value": "ospf" + }, + { + "key": "eigrp", + "value": "eigrp" + } + ] + }, + "defaultOption": "constant", + "description": "Route Protocol Leak to Current VPN", + "details": "Select a Route Protocol to enable route leaking to current VPN", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "external", + "type": "enum", + "values": [ + { + "key": "external", + "value": "external" + } + ] + }, + "defaultOption": "constant", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "Route Policy Leak to Current VPN", + "details": "Select a Route Policy to enable route leaking to current VPN", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Select a Route Protocol to enable redistribution", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "Redistribution Policy", + "details": "Select a Route Policy to enable redistribution", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Redistribute To Protocol", + "details": "Enable redistribution of replicated route protocol", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Enable inter-service VPN route leak", + "details": "Enable route leak from Service VPN to current VPN", + "key": "route-import-from", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-vpn", + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Route Protocol Leak from Service to Global", + "details": "Select a Route Protocol to enable route leaking from this Service VPN to Global VPN", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "external", + "type": "enum", + "values": [ + { + "key": "external", + "value": "external" + } + ] + }, + "defaultOption": "constant", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "Route Policy Leak from Service to Global", + "details": "Select a Route Policy to enable route leaking from this Service VPN to Global VPN", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Select a Route Protocol to enable redistribution", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [] + }, + "defaultOption": "ignore", + "description": "Redistribution Policy", + "details": "Select a Route Policy to enable redistribution", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Redistribute To Protocol", + "details": "Enable redistribution of replicated route protocol", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Enable route leaking to Global VPN", + "details": "Enable route leaking to Global VPN from this Service VPN", + "key": "route-export", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + } + ], + "name": "cisco_vpn", + "nameSpace": "http://viptela.com/vpn", + "uniqueKey": "vpn-id", + "xmlPath": [ + "vpn" + ], + "xmlRootTag": "vpn-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_vpn_interface.json b/gen/models/feature_templates/cisco_vpn_interface.json new file mode 100644 index 00000000..24d0017a --- /dev/null +++ b/gen/models/feature_templates/cisco_vpn_interface.json @@ -0,0 +1,3309 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface name: ge0/<0-..> or ge0/<0-..>.vlanid or irb or loopback or natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Power Over Ethernet", + "details": "Configure interface as Power-over-Ethernet source", + "deviceModels": [ + "vedge-100", + "vedge-ISR1100-4GLTE", + "vedge-ISR1100X-4G", + "vedge-100-W2", + "vedge-100-WM", + "vedge-100-M2", + "vedge-100-M", + "vedge-ISR1100-4G" + ], + "key": "poe", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address/ prefix-length", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "Secondary IP Address", + "details": "Assign secondary IP addresses", + "key": "secondary-address", + "maxElements": 4, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCPv6", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "IPv6 Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "Secondary IPv6 Address", + "details": "Assign secondary IPv6 addresses", + "key": "secondary-address", + "maxElements": 2, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access List", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP IPv4 helper addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "DHCPv6 Helper", + "details": "DHCPv6 Helper address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCPv6 Helper VPN", + "details": "DHCPv6 Helper VPN", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "DHCPv6 Helper", + "details": "DHCPv6 Helper", + "key": "dhcp-helper-v6", + "maxElements": 8, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Auto Detect Bandwidth", + "details": "Interface auto detect bandwidth", + "key": "auto-bandwidth-detect", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Iperf Server", + "details": "Iperf server for auto bandwidth detect", + "key": "iperf-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "interface", + "type": "radioButtonList", + "values": [ + { + "label": "Interface", + "value": "interface" + }, + { + "label": "Pool", + "value": "pool" + }, + { + "label": "Loopback", + "value": "loopback" + } + ] + }, + "defaultOption": "constant", + "description": "NAT Type", + "details": "NAT type", + "key": "nat-choice", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat", + "natpool" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT Pool Range Start", + "details": "Starting IP address of NAT pool range", + "key": "range-start", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "nat", + "natpool" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT Pool Range End", + "details": "Ending IP address of NAT pool range", + "key": "range-end", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Overload", + "details": "Enable port translation(PAT)", + "key": "overload", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat", + "interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "NAT Inside Source Loopback Interface", + "details": "Configure NAT Inside Loopback Interface", + "key": "loopback-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat", + "natpool" + ], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "NAT Pool Prefix Length", + "details": "Ending IP address of NAT Pool Prefix Length", + "key": "prefix-length", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "nat64" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT64", + "details": "NAT64 on this interface", + "key": "enable", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT64", + "details": "NAT64 on this interface", + "key": "nat64", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT66", + "details": "NAT66 on this interface", + "key": "nat66", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Source Prefix", + "details": "Source Prefix", + "key": "source-prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Translated Source Prefix", + "details": "Translated Source Prefix", + "key": "translated-source-prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Source VPN ID", + "details": "Source VPN ID", + "key": "source-vpn-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat66" + ], + "defaultOption": "constant", + "description": "Static Nat", + "details": "static NAT", + "key": "static-nat66", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "source-prefix", + "translated-source-prefix", + "source-vpn-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP Address", + "details": "Source IP address to be translated", + "key": "source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translated Source IP Address", + "details": "Statically translated source IP address", + "key": "translate-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "inside", + "type": "enum", + "values": [ + { + "key": "inside", + "value": "Inside" + }, + { + "key": "outside", + "value": "Outside" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Static NAT Direction", + "details": "Direction of static NAT translation", + "key": "static-nat-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Source VPN ID", + "details": "Configure VPN ID", + "key": "source-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Static Rules", + "details": "Configure static NAT entries", + "key": "static", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-ip", + "translate-ip" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP Address", + "details": "Source IP address to be translated", + "key": "source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translated Source IP Address", + "details": "Statically translated source IP address", + "key": "translate-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "inside", + "type": "enum", + "values": [ + { + "key": "inside", + "value": "Inside" + }, + { + "key": "outside", + "value": "Outside" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Static NAT Direction", + "details": "Direction of static NAT translation", + "key": "static-nat-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Source Port", + "details": "Source Port", + "key": "source-port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Translate Port", + "details": "Translate Port", + "key": "translate-port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "TCP" + }, + { + "key": "udp", + "value": "UDP" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Protocol", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Source VPN ID", + "details": "Configure VPN ID", + "key": "source-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port Forward", + "details": "Configure Port Forward entries", + "key": "static-port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-ip", + "translate-ip", + "proto", + "source-port", + "translate-port" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "hub", + "value": "hub" + }, + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 50, + "max": 99, + "min": 1, + "type": "number" + }, + "defaultOption": "notIgnore", + "description": "Tunnels Bandwidth Percent", + "details": "Tunnels Bandwidth Percent", + "key": "tunnels-bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tloc-extension-gre-to" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "GRE tunnel destination IP", + "details": "Extend the TLOC to a remote node over GRE tunnel", + "key": "dst-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "CTS SGT Propagation", + "details": "CTS SGT Propagation configuration", + "key": "propagate-sgt", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "auto-select", + "value": "auto-select" + }, + { + "key": "rj45", + "value": "rj45" + }, + { + "key": "sfp", + "value": "sfp" + } + ] + }, + "defaultOption": "ignore", + "description": "Media type", + "details": "Media type", + "key": "media-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 9216, + "min": 1500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface MTU", + "details": "Interface MTU GigabitEthernet0 <1500..1518>, Other GigabitEthernet <1500..9216> in bytes", + "key": "intrf-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 9216, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "IP MTU for GigabitEthernet main <576..Interface MTU>, GigabitEthernet subinterface <576..9216>, Other Interfaces <576..2000> in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "tlocExtension" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 30, + "interval": 30, + "max": 600, + "min": 30, + "type": "numberFixedInterval" + }, + "defaultOption": "ignore", + "description": "Load Interval", + "details": "Interval for interface load calculation", + "key": "load-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tloc-extension-gre-from" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "GRE tunnel source IP", + "details": "Extend remote TLOC over a GRE tunnel to a local WAN interface", + "key": "src-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tloc-extension-gre-from" + ], + "dataType": { + "type": "xConnect" + }, + "defaultOption": "ignore", + "description": "Xconnect", + "details": "Extend remote TLOC over a GRE tunnel to a local WAN interface", + "key": "xconnect", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + }, + { + "key": "2500", + "value": "2500" + }, + { + "key": "10000", + "value": "10000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + }, + { + "key": "auto", + "value": "auto" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1200, + "max": 2147483, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ARP Timeout", + "details": "Timeout value for dynamically learned ARP entries, <0..2678400> seconds", + "key": "arp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP/ICMPv6 Redirect Disable", + "details": "Set this option to disable the icmp/icmpv6 redirect packets", + "key": "icmp-redirect-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Adaptive QoS", + "details": "Adaptive QoS", + "key": "qos-adaptive", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive" + ], + "dataType": { + "default": 15, + "max": 720, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Adapt Period(Minutes)", + "details": "Periodic timer for adaptive QoS in minutes", + "key": "period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default Downstream (Kbps)", + "details": "Adaptive QoS default downstream bandwidth", + "key": "bandwidth-down", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min Downstream (Kbps)", + "details": "Downstream min bandwidth limit", + "key": "dmin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max Downstream (Kbps)", + "details": "Downstream max bandwidth limit", + "key": "dmax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default Upstream (Kbps)", + "details": "Adaptive QoS default upstream bandwidth", + "key": "bandwidth-up", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min Upstream (Kbps)", + "details": "Upstream min bandwidth limit", + "key": "umin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max Upstream (Kbps)", + "details": "Upstream max bandwidth limit", + "key": "umax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block Non Source IP", + "details": "Block packets originating from IP address that is not from this source", + "key": "block-non-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 40950, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (milliseconds)", + "details": "Timer interval for successive advertisements, in milliseconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv4" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Assign IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "VRRP Secondary IP address", + "details": "VRRP Secondary IP address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP Secondary IP address", + "details": "VRRP Secondary IP address", + "key": "ipv4-secondary", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TLOC Preference Change", + "details": "change TLOC preference", + "key": "tloc-change-pref", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "TLOC Preference Change Value", + "details": "Set tloc preference change value", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Tracker ID", + "details": "Tracker ID", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "decrement", + "type": "radioButtonList", + "values": [ + { + "label": "Decrement", + "value": "decrement" + }, + { + "label": "Shutdown", + "value": "shutdown" + } + ] + }, + "defaultOption": "constant", + "description": "Action", + "details": "Track Action", + "key": "track-action", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Decrement Value", + "details": "Decrement Value for VRRP priority", + "key": "decrement", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Tracker", + "details": "tracking object for VRRP configuration", + "key": "tracking-object", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 40950, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (milliseconds)", + "details": "Timer interval for successive advertisements, in milliseconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "regex": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "Link Local IPv6 Address", + "details": "Use link-local IPv6 Address", + "key": "ipv6-link-local", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "Global IPv6 Prefix", + "details": "Assign Global IPv6 Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IPv6", + "details": "IPv6 VRRP", + "key": "ipv6", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "ipv6-link-local" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "ipv6-vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + }, + { + "dataPath": [ + "trustsec", + "propagate" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Propagate", + "details": "Enable/Disable CTS SGT propagation on an interface.", + "key": "sgt", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "trustsec", + "static" + ], + "dataType": { + "max": 65519, + "min": 2, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Security Group Tag", + "details": "SGT value between 2 and 65519.", + "key": "sgt", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "trustsec", + "static" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Trusted", + "details": "Indicates that the interface is trustworthy for CTS.", + "key": "trusted", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "trustsec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable SGT Propagation", + "details": "Enables the interface for CTS SGT authorization and forwarding.", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "trustsec", + "enforcement" + ], + "dataType": { + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Enforcement", + "details": "Enable/Disable SGT Enforcement on an interface", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "trustsec", + "enforcement" + ], + "dataType": { + "max": 65519, + "min": 2, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Enforcement Security Group Tag", + "details": "SGT value between 2 and 65519.", + "key": "sgt", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_vpn_interface_gre.json b/gen/models/feature_templates/cisco_vpn_interface_gre.json new file mode 100644 index 00000000..e5e9c556 --- /dev/null +++ b/gen/models/feature_templates/cisco_vpn_interface_gre.json @@ -0,0 +1,327 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "maxLength": 6, + "min": 1, + "minLength": 4, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..255)", + "details": "Interface name: ge0/<0-..> or ge0/<0-..>.vlanid or irb or loopback or natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "GRE Source IP Address", + "details": "Tunnel source IP Address", + "key": "tunnel-source", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Source Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "GRE Destination IP Address", + "details": "Tunnel destination IP Address", + "key": "tunnel-destination", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "none", + "value": "None" + }, + { + "key": "sig", + "value": "Secure Internet Gateway" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Application", + "details": "Enable Application Tunnel Type", + "key": "application", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 18000, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "maxElements": 1, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Route-via Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-route-via", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "name": "cisco_vpn_interface_gre", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_vpn_interface_ipsec.json b/gen/models/feature_templates/cisco_vpn_interface_ipsec.json new file mode 100644 index 00000000..f1013170 --- /dev/null +++ b/gen/models/feature_templates/cisco_vpn_interface_ipsec.json @@ -0,0 +1,681 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "maxLength": 8, + "min": 1, + "minLength": 6, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..255)", + "details": "Interface name: IPsec when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 240, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IPsec Source IP Address", + "details": "Tunnel source IP Address", + "key": "tunnel-source", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "IPsec Source Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "IPsec Destination IP Address/FQDN", + "details": "Tunnel destination IP address", + "key": "tunnel-destination", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "none", + "value": "None" + }, + { + "key": "sig", + "value": "Secure Internet Gateway" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Application", + "details": "Enable Application Tunnel Type", + "key": "application", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 9216, + "min": 68, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <68..9216>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "default": 10, + "max": 3600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Interval", + "details": "IKE keepalive interval (seconds)", + "key": "dpd-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "default": 3, + "max": 60, + "min": 2, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Retries", + "details": "IKE keepalive retries", + "key": "dpd-retries", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 1, + "max": 2, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IKE Version", + "details": "IKE Version <1..2>", + "key": "ike-version", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "main", + "type": "enum", + "values": [ + { + "key": "main", + "value": "Enable IKE phase 1 main mode negotiation" + }, + { + "key": "aggressive", + "value": "Enable IKE phase 1 aggressive mode negotiation" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Mode", + "details": "IKE integrity protocol", + "key": "ike-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 14400, + "max": 86400, + "min": 60, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IKE Rekey Interval (seconds)", + "details": "IKE rekey interval <60..86400> seconds", + "key": "ike-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "aes256-cbc-sha1", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha2", + "value": "AES 256 CBC SHA2" + }, + { + "key": "aes128-cbc-sha1", + "value": "AES 128 CBC SHA1" + }, + { + "key": "aes128-cbc-sha2", + "value": "AES 128 CBC SHA2" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Cipher Suite", + "details": "IKE identity the IKE preshared secret belongs to", + "key": "ike-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "16", + "type": "enum", + "values": [ + { + "key": "2", + "value": "2 1024-bit modulus" + }, + { + "key": "14", + "value": "14 2048-bit modulus" + }, + { + "key": "15", + "value": "15 3072-bit modulus" + }, + { + "key": "16", + "value": "16 4096-bit modulus" + }, + { + "key": "19", + "value": "256 bit elliptic curve" + }, + { + "key": "20", + "value": "384 bit elliptic curve" + }, + { + "key": "21", + "value": "521 bit elliptic curve" + }, + { + "key": "24", + "value": "modular exponentiation group with a 2048-bit modulus and 256-bit prime order subgroup" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Diffie-Hellman Group", + "details": "IKE Diffie Hellman Groups", + "key": "ike-group", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 127, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Preshared Key", + "details": "Use preshared key to authenticate IKE peer", + "key": "pre-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for local End point", + "details": "IKE ID for the local endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-local-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for Remote End point", + "details": "IKE ID for the remote endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-remote-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 3600, + "max": 2592000, + "min": 120, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Rekey Interval (seconds)", + "details": "IPsec rekey interval <300..1209600> seconds", + "key": "ipsec-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 512, + "max": 4096, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Replay Window", + "details": "Replay window size 32..8192 (must be a power of 2)", + "key": "ipsec-replay-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "aes256-gcm", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha384", + "value": "AES 256 CBC SHA 384" + }, + { + "key": "aes256-cbc-sha256", + "value": "AES 256 CBC SHA 256" + }, + { + "key": "aes256-cbc-sha512", + "value": "AES 256 CBC SHA 512" + }, + { + "key": "aes256-gcm", + "value": "AES 256 GCM" + }, + { + "key": "null-sha1", + "value": "Nul SHA1" + }, + { + "key": "null-sha384", + "value": "Nul SHA 384" + }, + { + "key": "null-sha256", + "value": "Nul SHA 256" + }, + { + "key": "null-sha512", + "value": "Nul SHA 512" + } + ] + }, + "defaultOption": "ignore", + "description": "IPsec Cipher Suite", + "details": "IPsec(ESP) encryption and integrity protocol", + "key": "ipsec-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "group-16", + "type": "enum", + "values": [ + { + "key": "group-1", + "value": "Group-1 768-bit modulus" + }, + { + "key": "group-2", + "value": "Group-2 1024-bit modulus" + }, + { + "key": "group-5", + "value": "Group-5 1536-bit modulus" + }, + { + "key": "group-14", + "value": "Group-14 2048-bit modulus" + }, + { + "key": "group-15", + "value": "Group-15 3072-bit modulus" + }, + { + "key": "group-16", + "value": "Group-16 4096-bit modulus" + }, + { + "key": "group-19", + "value": "Group-19 256-bit elliptic curve" + }, + { + "key": "group-20", + "value": "Group-20 384-bit elliptic curve" + }, + { + "key": "group-21", + "value": "Group-21 521-bit elliptic curve" + }, + { + "key": "group-24", + "value": "Group-24 2048-bit modulus" + }, + { + "key": "none", + "value": "None" + } + ] + }, + "defaultOption": "ignore", + "description": "Perfect Forward Secrecy", + "details": "IPsec perfect forward secrecy settings", + "key": "perfect-forward-secrecy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "maxElements": 1, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Route-via Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-route-via", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "name": "cisco_vpn_interface_ipsec", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cisco_wireless_lan.json b/gen/models/feature_templates/cisco_wireless_lan.json new file mode 100644 index 00000000..41b6de24 --- /dev/null +++ b/gen/models/feature_templates/cisco_wireless_lan.json @@ -0,0 +1,841 @@ +{ + "fields": [ + { + "dataPath": [ + "radio" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "2.4GHz Shutdown", + "details": "2.4GHz Shutdown", + "key": "shutdown-2.4ghz", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "radio" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "5GHz Shutdown", + "details": "5GHz Shutdown", + "key": "shutdown-5ghz", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Wireless Network Name (SSID)", + "details": "Configure wlan SSID", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "Disabled", + "on": "Enabled" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Admin State", + "details": "Set admin state", + "key": "admin-state", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Broadcast SSID", + "details": "Enable broadcast SSID", + "key": "broadcast-ssid", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "VLAN (Range 1-4094)", + "details": "Set VLAN ID", + "key": "vlan-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "all", + "type": "radioButtonList", + "values": [ + { + "label": "2.4GHz", + "value": "24ghz" + }, + { + "label": "5GHz", + "value": "5ghz" + }, + { + "label": "All", + "value": "all" + } + ] + }, + "defaultOption": "ignore", + "description": "Radio Type", + "details": "Select radio type", + "key": "radio-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "personal", + "type": "radioButtonList", + "values": [ + { + "label": "WPA2 Enterprise", + "value": "enterprise" + }, + { + "label": "WPA2 Personal", + "value": "personal" + }, + { + "label": "Open", + "value": "open" + } + ] + }, + "defaultOption": "constant", + "description": "Security Type", + "details": "Select security type", + "key": "security-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "RADIUS Server IP", + "details": "Set RADIUS server IP", + "key": "radius-server-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1812, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Port", + "details": "Set RADIUS server authentication port", + "key": "radius-server-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Shared Secret", + "details": "Set RADIUS server shared secret", + "key": "radius-server-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 63, + "minLength": 8, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Passphrase", + "details": "Set passphrase", + "key": "passphrase", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "silver", + "type": "enum", + "values": [ + { + "key": "platinum", + "value": "Platinum (Voice)" + }, + { + "key": "gold", + "value": "Gold (Video)" + }, + { + "key": "silver", + "value": "Silver (Best Effort)" + }, + { + "key": "bronze", + "value": "Bronze (Background)" + } + ] + }, + "defaultOption": "ignore", + "description": "QoS Profile", + "details": "Select QoS profile", + "key": "qos-profile", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Wi-Fi SSID", + "details": "Configure Wi-Fi SSID", + "key": "ssid", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "AE", + "value": "United Arab Emirates" + }, + { + "key": "AR", + "value": "Argentina" + }, + { + "key": "AT", + "value": "Austria" + }, + { + "key": "AU", + "value": "Australia" + }, + { + "key": "BA", + "value": "Bosnia" + }, + { + "key": "BB", + "value": "Barbados" + }, + { + "key": "BE", + "value": "Belgium" + }, + { + "key": "BG", + "value": "Bulgaria" + }, + { + "key": "BH", + "value": "Bahrain" + }, + { + "key": "BN", + "value": "Brunei" + }, + { + "key": "BO", + "value": "Bolivia" + }, + { + "key": "BR", + "value": "Brazil" + }, + { + "key": "BY", + "value": "Belarus" + }, + { + "key": "CA", + "value": "Canada" + }, + { + "key": "CA2", + "value": "Canada (DCA excludes UNII-2)" + }, + { + "key": "CH", + "value": "Switzerland" + }, + { + "key": "CL", + "value": "Chile" + }, + { + "key": "CM", + "value": "Cameroon" + }, + { + "key": "CN", + "value": "China" + }, + { + "key": "CO", + "value": "Colombia" + }, + { + "key": "CR", + "value": "Costa Rica" + }, + { + "key": "CY", + "value": "Cyprus" + }, + { + "key": "CZ", + "value": "Czech Republic" + }, + { + "key": "DE", + "value": "Germany" + }, + { + "key": "DK", + "value": "Denmark" + }, + { + "key": "DO", + "value": "Dominican Republic" + }, + { + "key": "DZ", + "value": "Algeria" + }, + { + "key": "EC", + "value": "Ecuador" + }, + { + "key": "EE", + "value": "Estonia" + }, + { + "key": "EG", + "value": "Egypt" + }, + { + "key": "ES", + "value": "Spain" + }, + { + "key": "FI", + "value": "Finland" + }, + { + "key": "FJ", + "value": "Fiji" + }, + { + "key": "FR", + "value": "France" + }, + { + "key": "GB", + "value": "United Kingdom" + }, + { + "key": "GH", + "value": "Ghana" + }, + { + "key": "GI", + "value": "Gibraltar" + }, + { + "key": "GR", + "value": "Greece" + }, + { + "key": "HK", + "value": "Hong Kong" + }, + { + "key": "HR", + "value": "Croatia" + }, + { + "key": "HU", + "value": "Hungary" + }, + { + "key": "ID", + "value": "Indonesia" + }, + { + "key": "IE", + "value": "Ireland" + }, + { + "key": "IL", + "value": "Israel" + }, + { + "key": "IO", + "value": "Israel (Outdoor)" + }, + { + "key": "IN", + "value": "India" + }, + { + "key": "IQ", + "value": "Iraq" + }, + { + "key": "IS", + "value": "Iceland" + }, + { + "key": "IT", + "value": "Italy" + }, + { + "key": "J2", + "value": "Japan 2(P)" + }, + { + "key": "J4", + "value": "Japan 4(Q)" + }, + { + "key": "JM", + "value": "Jamaica" + }, + { + "key": "JO", + "value": "Jordan" + }, + { + "key": "KE", + "value": "Kenya" + }, + { + "key": "KN", + "value": "Kenya" + }, + { + "key": "KW", + "value": "Kuwait" + }, + { + "key": "KZ", + "value": "Kazakhstan" + }, + { + "key": "LB", + "value": "Lebanon" + }, + { + "key": "LI", + "value": "Liechtenstein" + }, + { + "key": "LK", + "value": "Sri Lanka" + }, + { + "key": "LT", + "value": "Lithuania" + }, + { + "key": "LU", + "value": "Luxembourg" + }, + { + "key": "LV", + "value": "Latvia" + }, + { + "key": "LY", + "value": "Libya" + }, + { + "key": "MA", + "value": "Morocco" + }, + { + "key": "MC", + "value": "Monaco" + }, + { + "key": "ME", + "value": "Montenegro" + }, + { + "key": "MK", + "value": "Macedonia" + }, + { + "key": "MN", + "value": "Mongolia" + }, + { + "key": "MO", + "value": "Macao" + }, + { + "key": "MT", + "value": "Malta" + }, + { + "key": "MX", + "value": "Mexico" + }, + { + "key": "MY", + "value": "Malaysia" + }, + { + "key": "NL", + "value": "Netherlands" + }, + { + "key": "NO", + "value": "Norway" + }, + { + "key": "NZ", + "value": "New Zealand" + }, + { + "key": "OM", + "value": "Oman" + }, + { + "key": "PA", + "value": "Panama" + }, + { + "key": "PE", + "value": "Peru" + }, + { + "key": "PH", + "value": "Philippines" + }, + { + "key": "PH2", + "value": "Philippines (DCA excludes UNII-2)" + }, + { + "key": "PK", + "value": "Pakistan" + }, + { + "key": "PL", + "value": "Poland" + }, + { + "key": "PR", + "value": "Puerto Rico" + }, + { + "key": "PT", + "value": "Portugal" + }, + { + "key": "PY", + "value": "Paraguay" + }, + { + "key": "QA", + "value": "Qatar" + }, + { + "key": "RO", + "value": "Romania" + }, + { + "key": "RS", + "value": "Serbia" + }, + { + "key": "RU", + "value": "Russian Federation" + }, + { + "key": "SA", + "value": "Saudi Arabia" + }, + { + "key": "SE", + "value": "Sweden" + }, + { + "key": "SG", + "value": "Singapore" + }, + { + "key": "SI", + "value": "Slovenia" + }, + { + "key": "SK", + "value": "Slovak Republic" + }, + { + "key": "TH", + "value": "Thailand" + }, + { + "key": "TN", + "value": "Tunisia" + }, + { + "key": "TR", + "value": "Turkey" + }, + { + "key": "TW", + "value": "Taiwan" + }, + { + "key": "UA", + "value": "Ukraine" + }, + { + "key": "US", + "value": "United States" + }, + { + "key": "UY", + "value": "Uruguay" + }, + { + "key": "VE", + "value": "Venezuela" + }, + { + "key": "VN", + "value": "Viet Nam" + }, + { + "key": "ZA", + "value": "South Africa" + } + ] + }, + "defaultOption": "constant", + "description": "Country", + "details": "Select country", + "key": "country", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "mgmt" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Username", + "details": "Set management username", + "key": "username", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "mgmt" + ], + "dataType": { + "maxLength": 64, + "minLength": 8, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set management password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "mgmt" + ], + "dataType": { + "default": "0.0.0.0", + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Controller IP Address", + "details": "Set mobile express controller address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "mgmt" + ], + "dataType": { + "default": "0.0.0.0", + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Subnet Mask", + "details": "Set mobile express controller subnet mask", + "key": "netmask", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "mgmt" + ], + "dataType": { + "default": "0.0.0.0", + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Default Gateway", + "details": "Set mobile express default gateway", + "key": "default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "cisco_wireless_lan", + "nameSpace": "http://viptela.com/wireless-lan", + "xmlPath": [], + "xmlRootTag": "wireless-lan" +} \ No newline at end of file diff --git a/gen/models/feature_templates/cli-template.json b/gen/models/feature_templates/cli-template.json new file mode 100644 index 00000000..025cef1f --- /dev/null +++ b/gen/models/feature_templates/cli-template.json @@ -0,0 +1,22 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "cli config", + "details": "Cli config", + "key": "config", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "name": "cli-template", + "nameSpace": "http://viptela.com/vpn", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_aaa.json b/gen/models/feature_templates/clouddock_aaa.json new file mode 100644 index 00000000..da8f2e58 --- /dev/null +++ b/gen/models/feature_templates/clouddock_aaa.json @@ -0,0 +1,93 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set the username", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set the user password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Set the user password", + "key": "password-scrypt", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "administrators", + "type": "enum", + "values": [ + { + "key": "administrators", + "value": "administrators" + } + ] + }, + "defaultOption": "constant", + "description": "Role", + "details": "Set the role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "authentication", + "users" + ], + "defaultOption": "ignore", + "description": "User Configuration", + "details": "Create local login account", + "key": "user", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "clouddock_aaa", + "nameSpace": "http://www.cisco.com/nfv/rbac", + "xmlPath": [], + "xmlRootTag": "rbac" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_ccm_aaa.json b/gen/models/feature_templates/clouddock_ccm_aaa.json new file mode 100644 index 00000000..59a98b28 --- /dev/null +++ b/gen/models/feature_templates/clouddock_ccm_aaa.json @@ -0,0 +1,76 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set the username", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "ignore", + "description": "Password", + "details": "Set the user password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Set the role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [ + "rbac", + "users" + ], + "defaultOption": "ignore", + "description": "User Configuration", + "details": "Create local login account", + "key": "user", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "clouddock_ccm_aaa", + "nameSpace": "http://www.cisco.com/ns/colo/colo", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_ccm_logging.json b/gen/models/feature_templates/clouddock_ccm_logging.json new file mode 100644 index 00000000..c92a26df --- /dev/null +++ b/gen/models/feature_templates/clouddock_ccm_logging.json @@ -0,0 +1,139 @@ +{ + "fields": [ + { + "children": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "host", + "details": "Set the host", + "key": "host", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Hostname/IP Address", + "details": "Set hostname or IP address of server", + "key": "host", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "transport" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Transport protocol to reach remote syslog server", + "details": "Transport protocol to reach remote syslog server", + "key": "udp", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "transport" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Transport protocol to reach remote syslog server", + "details": "Transport protocol to reach remote syslog server", + "key": "tcp", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [ + "logging" + ], + "defaultOption": "ignore", + "description": "Remote host", + "details": "Enable logging to remote server", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "host" + ] + }, + { + "dataPath": [ + "logging" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "emergency", + "value": "Emergency: System is unusable (severity=0)" + }, + { + "key": "alert", + "value": "Alert: Immediate action needed (severity=1)" + }, + { + "key": "critical", + "value": "Critical: Critical conditions (severity=2)" + }, + { + "key": "error", + "value": "Error: Error conditions (severity=3)" + }, + { + "key": "warning", + "value": "Warn: Warning conditions (severity=4)" + }, + { + "key": "notice", + "value": "Notice: Normal but significant conditions (severity=5)" + }, + { + "key": "informational", + "value": "Information: Informational messages (severity=6)" + } + ] + }, + "defaultOption": "constant", + "description": "Severity", + "details": "Set logging level for messages logged to server", + "key": "severity", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "name": "clouddock_ccm_logging", + "nameSpace": "http://www.cisco.com/ns/colo/colo", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_ccm_ntp.json b/gen/models/feature_templates/clouddock_ccm_ntp.json new file mode 100644 index 00000000..63f6e159 --- /dev/null +++ b/gen/models/feature_templates/clouddock_ccm_ntp.json @@ -0,0 +1,100 @@ +{ + "fields": [ + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Backup server", + "details": "Backup this NTP server", + "key": "backup_server", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "default": "ipv4", + "type": "radioButtonList", + "values": [ + { + "label": "IP", + "value": "ipv4" + }, + { + "label": "Hostname", + "value": "domain-name" + } + ] + }, + "defaultOption": "constant", + "description": "Backup server type", + "details": "Backup server type", + "key": "backup_server_type", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Preferred server", + "details": "Prefer this NTP server", + "key": "preferred_server", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "default": "ipv4", + "type": "radioButtonList", + "values": [ + { + "label": "IP", + "value": "ipv4" + }, + { + "label": "Hostname", + "value": "domain-name" + } + ] + }, + "defaultOption": "constant", + "description": "Preferred server type", + "details": "Preferred server type", + "key": "preferred_server_type", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "name": "clouddock_ccm_ntp", + "nameSpace": "http://www.cisco.com/ns/colo/colo", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_ccm_tacacs.json b/gen/models/feature_templates/clouddock_ccm_tacacs.json new file mode 100644 index 00000000..c128e718 --- /dev/null +++ b/gen/models/feature_templates/clouddock_ccm_tacacs.json @@ -0,0 +1,108 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "server", + "details": "server ip", + "key": "server", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "tacacs-server", + "secret" + ], + "dataType": { + "default": 7, + "max": 31, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Key", + "details": "Set the TACACS server shared key", + "key": "key", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "tacacs-server", + "secret" + ], + "dataType": { + "maxLength": 150, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": " Encrypted Secret", + "details": "Set the TACACS server, type 7 & Type 8 encryption", + "key": "encrypted-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tacacs-server", + "secret" + ], + "dataType": { + "maxLength": 150, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": " hashed shared Secret", + "details": "Hashed encryption", + "key": "hashed-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "security_servers", + "tacacs-server" + ], + "defaultOption": "ignore", + "description": "server Configuration", + "details": "Create local login account", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "server" + ] + } + ], + "name": "clouddock_ccm_tacacs", + "nameSpace": "http://www.cisco.com/ns/colo/colo", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_logging.json b/gen/models/feature_templates/clouddock_logging.json new file mode 100644 index 00000000..26d6b650 --- /dev/null +++ b/gen/models/feature_templates/clouddock_logging.json @@ -0,0 +1,105 @@ +{ + "fields": [ + { + "children": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "host", + "details": "Set the host", + "key": "host", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Hostname/IP Address", + "details": "Set hostname or IP address of server", + "key": "host", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "settings", + "logging" + ], + "defaultOption": "ignore", + "description": "Remote host", + "details": "Enable logging to remote server", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "settings", + "logging" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "emergency", + "value": "Emergency: System is unusable (severity=0)" + }, + { + "key": "alert", + "value": "Alert: Immediate action needed (severity=1)" + }, + { + "key": "critical", + "value": "Critical: Critical conditions (severity=2)" + }, + { + "key": "error", + "value": "Error: Error conditions (severity=3)" + }, + { + "key": "warning", + "value": "Warn: Warning conditions (severity=4)" + }, + { + "key": "notice", + "value": "Notice: Normal but significant conditions (severity=5)" + }, + { + "key": "informational", + "value": "Information: Informational messages (severity=6)" + } + ] + }, + "defaultOption": "constant", + "description": "Severity", + "details": "Set logging level for messages logged to server", + "key": "severity", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "name": "clouddock_logging", + "nameSpace": "http://www.cisco.com/nfv", + "primaryKeys": [ + "host" + ], + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_ntp.json b/gen/models/feature_templates/clouddock_ntp.json new file mode 100644 index 00000000..e4b0d670 --- /dev/null +++ b/gen/models/feature_templates/clouddock_ntp.json @@ -0,0 +1,100 @@ +{ + "fields": [ + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Backup server", + "details": "Backup this NTP server", + "key": "backup_server", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "default": "ipv4", + "type": "radioButtonList", + "values": [ + { + "label": "IP", + "value": "ipv4" + }, + { + "label": "Hostname", + "value": "domain-name" + } + ] + }, + "defaultOption": "constant", + "description": "Backup server type", + "details": "Backup server type", + "key": "backup_server_type", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Preferred server", + "details": "Prefer this NTP server", + "key": "preferred_server", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "time", + "ntp" + ], + "dataType": { + "default": "ipv4", + "type": "radioButtonList", + "values": [ + { + "label": "IP", + "value": "ipv4" + }, + { + "label": "Hostname", + "value": "domain-name" + } + ] + }, + "defaultOption": "constant", + "description": "Preferred server type", + "details": "Preferred server type", + "key": "preferred_server_type", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "name": "clouddock_ntp", + "nameSpace": "http://www.cisco.com/nfv", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/clouddock_tacacs.json b/gen/models/feature_templates/clouddock_tacacs.json new file mode 100644 index 00000000..da91f670 --- /dev/null +++ b/gen/models/feature_templates/clouddock_tacacs.json @@ -0,0 +1,100 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Server IP Address", + "details": "Set IP address of TACACS server", + "key": "server", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "secret" + ], + "dataType": { + "default": 7, + "max": 31, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Key", + "details": "Set the TACACS server shared key", + "key": "key", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "secret" + ], + "dataType": { + "maxLength": 150, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Secret", + "details": "Set the TACACS server, type 7 or Type 8 encryption", + "key": "encrypted-shared-secret", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "secret" + ], + "dataType": { + "maxLength": 150, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": " hashed shared Secret", + "details": "Set the TACACS server, Hashed encryption", + "key": "hashed-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tacacs-server" + ], + "defaultOption": "ignore", + "description": "server Configuration", + "details": "Create local login account", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "server" + ] + } + ], + "name": "clouddock_tacacs", + "nameSpace": "http://www.cisco.com/ns/test/security", + "xmlPath": [], + "xmlRootTag": "security_servers" +} \ No newline at end of file diff --git a/gen/models/feature_templates/dhcp-server.json b/gen/models/feature_templates/dhcp-server.json new file mode 100644 index 00000000..fcfb53f2 --- /dev/null +++ b/gen/models/feature_templates/dhcp-server.json @@ -0,0 +1,374 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Address Pool", + "details": "Configure IPv4 prefix range of the DHCP address pool", + "key": "address-pool", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4Range" + }, + "defaultOption": "ignore", + "description": "Exclude Addresses", + "details": "Configure IPv4 address to exclude from DHCP address pool", + "key": "exclude", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Leases", + "details": "Set the maximum number of dynamic leases the DHCP server can offer", + "key": "max-leases", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 600, + "max": 4294967295, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Offer Time (seconds)", + "details": "Configure how long a DHCP server address is reserved", + "key": "offer-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 86400, + "max": 31536000, + "min": 60, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Lease Time (seconds)", + "details": "Configure how long a DHCP-assigned IP address is valid", + "key": "lease-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "up", + "type": "enum", + "values": [ + { + "key": "up", + "value": "up" + }, + { + "key": "down", + "value": "down" + } + ] + }, + "defaultOption": "ignore", + "description": "Administrative State", + "details": "Set whether interface can act as DHCP server", + "key": "admin-state", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "max": 65535, + "min": 68, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface MTU", + "details": "Set MTU on interface to DHCP client", + "key": "interface-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Domain Name", + "details": "Set domain name client uses to resolve hostnames", + "key": "domain-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Default Gateway", + "details": "Set IP address of default gateway", + "key": "default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DNS Servers", + "details": "Configure one or more DNS server IP addresses", + "key": "dns-servers", + "maxElements": 8, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "options" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "TFTP Servers", + "details": "Configure TFTP server IP addresses", + "key": "tftp-servers", + "maxElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "Set MAC address of client", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "Set client\u2019s static IP address", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Hostname", + "details": "Set client\u2019s hostname", + "key": "host-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static Leases", + "details": "Configure static IP addresses", + "key": "static-lease", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "mac-address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Option Code", + "details": "Set Option Code", + "key": "code", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "ASCII", + "details": "Set ASCII value", + "key": "ascii", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 254, + "minLength": 2, + "type": "string" + }, + "defaultOption": "ignore", + "description": "HEX", + "details": "Set HEX value", + "key": "hex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Set IP Address List (comma separated)", + "key": "ip", + "maxChildren": "8", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "options" + ], + "defaultOption": "ignore", + "description": "Options Code", + "details": "Configure Options Code", + "key": "option-code", + "maxElements": 254, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "code" + ] + } + ], + "name": "dhcp-server", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "dhcp-server" +} \ No newline at end of file diff --git a/gen/models/feature_templates/eigrp.json b/gen/models/feature_templates/eigrp.json new file mode 100644 index 00000000..f2d76ce6 --- /dev/null +++ b/gen/models/feature_templates/eigrp.json @@ -0,0 +1,467 @@ +{ + "fields": [ + { + "dataPath": [ + "eigrp" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "Autonomous System ID", + "details": "Set autonomous system ID <1..65535>", + "key": "as-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "ipv4", + "type": "enum", + "values": [ + { + "key": "ipv4", + "value": "ipv4" + } + ] + }, + "defaultOption": "constant", + "description": "Address Family", + "details": "Set EIGRP address family", + "key": "type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "nat-route", + "value": "nat-route" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "ospf", + "value": "ospf" + }, + { + "key": "ospfv3", + "value": "ospfv3" + }, + { + "key": "static", + "value": "static" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol to redistribute routes from", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Configure policy to apply to prefixes received from EIGRP neighbor", + "key": "route-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "topology", + "base" + ], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes into EIGRP", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Network Prefix", + "details": "Configure the prefixes for EIGRP to announce", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Network", + "details": "Configure the networks for EIGRP to advertise", + "key": "network", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + } + ], + "dataPath": [ + "eigrp" + ], + "defaultOption": "ignore", + "description": "Address Family", + "details": "Set EIGRP address family", + "key": "address-family", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "type" + ] + }, + { + "dataPath": [ + "eigrp" + ], + "dataType": { + "default": 5, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (seconds)", + "details": "Set EIGRP hello interval", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "eigrp" + ], + "dataType": { + "default": 15, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set EIGRP hold time", + "key": "hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "eigrp", + "table-map" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy Name", + "details": "Configure policy to apply to prefixes received from EIGRP neighbor", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "eigrp", + "table-map" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Filter", + "details": "Selective route download", + "key": "filter", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "eigrp", + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "md5", + "value": "md5" + }, + { + "key": "hmac-sha-256", + "value": "hmac-sha-256" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Type", + "details": "Set EIGRP router authentication type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "eigrp", + "authentication" + ], + "dataType": { + "maxLength": 31, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Authentication Key", + "details": "Set hmac-sha-256 authentication key", + "key": "auth-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "MD5 Key ID", + "details": "Set MD5 key ID", + "key": "key_id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 31, + "minLength": 1, + "type": "passphrase" + }, + "defaultOption": "ignore", + "description": "MD5 Authentication Key", + "details": "Set MD5 key", + "key": "keystring", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "eigrp", + "authentication", + "keychain" + ], + "defaultOption": "constant", + "description": "Keychain Name", + "details": "Set keychain name", + "key": "key", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "key_id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable/disable EIGRP", + "key": "shutdown", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Summary address prefix", + "details": "Set summary address prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Summary address", + "details": "Set summary addresses", + "key": "summary-address", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + } + ], + "dataPath": [ + "eigrp" + ], + "defaultOption": "ignore", + "description": "IPv4 Static Route", + "details": "Configure IPv4 Static Routes", + "key": "af-interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "eigrp", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/igmp.json b/gen/models/feature_templates/igmp.json new file mode 100644 index 00000000..9db29d49 --- /dev/null +++ b/gen/models/feature_templates/igmp.json @@ -0,0 +1,100 @@ +{ + "fields": [ + { + "dataPath": [ + "igmp" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable IGMP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Group Address", + "details": "Set group address", + "key": "group-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static Joins", + "details": "Configure static joins", + "key": "join-group", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "group-address" + ] + } + ], + "dataPath": [ + "igmp" + ], + "defaultOption": "ignore", + "description": "Interface", + "details": "Set IGMP interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "IGMP", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/li.json b/gen/models/feature_templates/li.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/gen/models/feature_templates/li.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/gen/models/feature_templates/li_snmp.json b/gen/models/feature_templates/li_snmp.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/gen/models/feature_templates/li_snmp.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/gen/models/feature_templates/li_static_ipsec.json b/gen/models/feature_templates/li_static_ipsec.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/gen/models/feature_templates/li_static_ipsec.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/gen/models/feature_templates/logging.json b/gen/models/feature_templates/logging.json new file mode 100644 index 00000000..cc41b2bb --- /dev/null +++ b/gen/models/feature_templates/logging.json @@ -0,0 +1,360 @@ +{ + "fields": [ + { + "dataPath": [ + "disk" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Disk", + "details": "Enable logging to local disk", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "disk", + "file" + ], + "dataType": { + "default": 10, + "max": 20, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum File Size (MB)", + "details": "Set maximum size of file before it is rotated", + "key": "size", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "disk", + "file" + ], + "dataType": { + "default": 10, + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Rotations", + "details": "Set number of syslog files to create before discarding oldest files", + "key": "rotate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "disk" + ], + "dataType": { + "default": "information", + "type": "enum", + "values": [ + { + "key": "emergency", + "value": "Emergency: System is unusable (severity=0)" + }, + { + "key": "alert", + "value": "Alert: Immediate action needed (severity=1)" + }, + { + "key": "critical", + "value": "Critical: Critical conditions (severity=2)" + }, + { + "key": "error", + "value": "Error: Error conditions (severity=3)" + }, + { + "key": "warn", + "value": "Warn: Warning conditions (severity=4)" + }, + { + "key": "notice", + "value": "Notice: Normal but significant conditions (severity=5)" + }, + { + "key": "information", + "value": "Information: Informational messages (severity=6)" + } + ] + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set logging level for messages logged to disk", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Hostname/IPv4 Address", + "details": "Set hostname or IPv4 address of server", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which syslog server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach syslog server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "information", + "type": "enum", + "values": [ + { + "key": "emergency", + "value": "Emergency: System is unusable (severity=0)" + }, + { + "key": "alert", + "value": "Alert: Immediate action needed (severity=1)" + }, + { + "key": "critical", + "value": "Critical: Critical conditions (severity=2)" + }, + { + "key": "error", + "value": "Error: Error conditions (severity=3)" + }, + { + "key": "warn", + "value": "Warn: Warning conditions (severity=4)" + }, + { + "key": "notice", + "value": "Notice: Normal but significant conditions (severity=5)" + }, + { + "key": "information", + "value": "Information: Informational messages (severity=6)" + } + ] + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set logging level for messages logged to server", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Remote host", + "details": "Enable logging to remote server", + "key": "server", + "maxChildren": "4", + "minChildren": "0", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "IPv6 Hostname/IPv6 Address", + "details": "Set IPv6 hostname or IPv6 address of server", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which syslog server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach syslog server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "information", + "type": "enum", + "values": [ + { + "key": "emergency", + "value": "Emergency: System is unusable (severity=0)" + }, + { + "key": "alert", + "value": "Alert: Immediate action needed (severity=1)" + }, + { + "key": "critical", + "value": "Critical: Critical conditions (severity=2)" + }, + { + "key": "error", + "value": "Error: Error conditions (severity=3)" + }, + { + "key": "warn", + "value": "Warn: Warning conditions (severity=4)" + }, + { + "key": "notice", + "value": "Notice: Normal but significant conditions (severity=5)" + }, + { + "key": "information", + "value": "Information: Informational messages (severity=6)" + } + ] + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set logging level for messages logged to server", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Remote IPv6 host", + "details": "Enable logging to remote IPv6 server", + "key": "ipv6-server", + "maxChildren": "4", + "minChildren": "0", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "Logging", + "nameSpace": "http://viptela.com/system", + "xmlPath": [ + "system" + ], + "xmlRootTag": "logging" +} \ No newline at end of file diff --git a/gen/models/feature_templates/mode.json b/gen/models/feature_templates/mode.json new file mode 100644 index 00000000..1e1d27c3 --- /dev/null +++ b/gen/models/feature_templates/mode.json @@ -0,0 +1,70 @@ +{ + "fields": [ + { + "dataPath": [ + "subslot", + "bay1" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "4*10G" + }, + { + "key": "40", + "value": "1*40G" + }, + { + "key": "100", + "value": "1*100G" + } + ] + }, + "defaultOption": "ignore", + "description": "Bay 1", + "details": "Bay 1", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "subslot", + "bay2" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "40", + "value": "3*40G" + }, + { + "key": "100", + "value": "1*100G" + } + ] + }, + "defaultOption": "ignore", + "description": "Bay 2", + "details": "Bay 2", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "mode", + "nameSpace": "http://viptela.com/vpn", + "xmlPath": [], + "xmlRootTag": "vpn" +} \ No newline at end of file diff --git a/gen/models/feature_templates/multicast.json b/gen/models/feature_templates/multicast.json new file mode 100644 index 00000000..87e70034 --- /dev/null +++ b/gen/models/feature_templates/multicast.json @@ -0,0 +1,48 @@ +{ + "fields": [ + { + "dataPath": [ + "multicast-replicator" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Local", + "details": "Replicator is local to this device", + "key": "local", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "multicast-replicator" + ], + "dataType": { + "default": 0, + "max": 1000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold", + "details": "Set number of joins per group the router supports", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "multicast", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/ntp.json b/gen/models/feature_templates/ntp.json new file mode 100644 index 00000000..912a19ec --- /dev/null +++ b/gen/models/feature_templates/ntp.json @@ -0,0 +1,204 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Hostname/IP Address", + "details": "Set hostname or IP address of server", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Key", + "details": "Set authentication key for the server", + "key": "key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN ID", + "details": "Set VPN in which NTP server is located", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 4, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Version", + "details": "Set NTP version", + "key": "version", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 0, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Source Interface", + "details": "Set interface to use to reach NTP server", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Prefer", + "details": "Prefer this NTP server", + "key": "prefer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "NTP Server (up to 4)", + "details": "Configure NTP servers", + "key": "server", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Authentication Key ID", + "details": "MD5 authentication key ID", + "key": "number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "passphrase" + }, + "defaultOption": "constant", + "description": "Authentication Value", + "details": "Enter cleartext or AES-encrypted MD5 authentication key", + "key": "md5", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "keys" + ], + "defaultOption": "ignore", + "description": "Authentication", + "details": "Set MD5 authentication key", + "key": "authentication", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "number" + ] + }, + { + "dataPath": [ + "keys" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Trusted Keys", + "details": "Designate authentication key as trustworthy", + "key": "trusted", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "NTP", + "nameSpace": "http://viptela.com/system", + "xmlPath": [ + "system" + ], + "xmlRootTag": "ntp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/omp-vedge.json b/gen/models/feature_templates/omp-vedge.json new file mode 100644 index 00000000..b58b75e4 --- /dev/null +++ b/gen/models/feature_templates/omp-vedge.json @@ -0,0 +1,335 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Graceful Restart for OMP", + "details": "Enable or disable OMP graceful restart", + "key": "graceful-restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Overlay AS Number", + "details": "Set Overlay AS number <1..4294967295> or ", + "key": "overlay-as", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 32, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Number of Paths Advertised per Prefix", + "details": "Set number of TLOC routes advertised between vSmart and vEdge", + "key": "send-path-limit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 16, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ECMP Limit", + "details": "Set maximum number of OMP paths to install in vEdge route table", + "key": "ecmp-limit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable OMP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "OMP Admin Distance IPv4", + "details": "OMP Admin Distance IPv4", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 1, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Advertisement Interval (seconds)", + "details": "Set the time between OMP Update packets", + "key": "advertisement-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 43200, + "max": 604800, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Graceful Restart Timer (seconds)", + "details": "Set the OMP graceful restart timer", + "key": "graceful-restart-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 300, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EOR Timer", + "details": "End of RIB timer <1..604800> seconds", + "key": "eor-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 60, + "range": "0,3-65535", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait before closing OMP peer connection", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "ospf", + "value": "OSPF" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "eigrp", + "value": "EIGRP" + }, + { + "key": "lisp", + "value": "LISP" + }, + { + "key": "isis", + "value": "ISIS" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set routes to advertise", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "external", + "value": "External" + } + ] + }, + "defaultOption": "constant", + "description": "Route", + "details": "Advertise OSPF external routes", + "key": "route", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Advertise Routes", + "details": "Advertise locally learned routes to OMP", + "key": "advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "dataPath": [ + "best-path", + "region-path-length" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Ignore Region-Path Length During Best-Path Algorithm", + "details": "Ignore Region-Path Length During Best-Path Algorithm", + "key": "ignore", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "best-path" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "prefer", + "value": "Prefer Transport Gateway Path" + }, + { + "key": "ecmp-with-direct-path", + "value": "Do ECMP Between Direct and Transport Gateway Paths" + } + ] + }, + "defaultOption": "ignore", + "description": "Transport Gateway Path Behavior", + "details": "Transport gateway path computation", + "key": "transport-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "OMP", + "nameSpace": "http://viptela.com/omp", + "xmlPath": [], + "xmlRootTag": "omp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/omp-vsmart.json b/gen/models/feature_templates/omp-vsmart.json new file mode 100644 index 00000000..8dd80c7c --- /dev/null +++ b/gen/models/feature_templates/omp-vsmart.json @@ -0,0 +1,202 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Graceful Restart for OMP", + "details": "Enable or disable OMP graceful restart", + "key": "graceful-restart", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 4, + "max": 32, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Number of Paths Advertised per Prefix", + "details": "Set number of equal-cost routes advertised by vSmart to vEdge", + "key": "send-path-limit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Send Backup Paths", + "details": "Enable or disable advertisement of backup routes to vEdges", + "key": "send-backup-paths", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Discard Rejected Routes", + "details": "Enable or disable discarding of routes rejected by policy", + "key": "discard-rejected", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable OMP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 1, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Advertisement Interval (seconds)", + "details": "Set the time between OMP Update packets", + "key": "advertisement-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 43200, + "max": 604800, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Graceful Restart Timer (seconds)", + "details": "Set the OMP graceful restart timer", + "key": "graceful-restart-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 300, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "EOR Timer", + "details": "End of RIB timer <1..604800> seconds", + "key": "eor-timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timers" + ], + "dataType": { + "default": 60, + "range": "0,3-65535", + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time (seconds)", + "details": "Set how long to wait before closing OMP peer connection", + "key": "holdtime", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "filter-route", + "outbound" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Filtering Route Updates Based on Affinity", + "details": "Filter routes based on affinity preference list", + "key": "affinity-group-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "OMP", + "nameSpace": "http://viptela.com/omp", + "xmlPath": [], + "xmlRootTag": "omp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/ospf.json b/gen/models/feature_templates/ospf.json new file mode 100644 index 00000000..b8cc15b3 --- /dev/null +++ b/gen/models/feature_templates/ospf.json @@ -0,0 +1,935 @@ +{ + "fields": [ + { + "dataPath": [ + "ospf" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Router ID", + "details": "Set OSPF router ID to override system IP address", + "key": "router-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "auto-cost" + ], + "dataType": { + "default": 100, + "max": 4294967, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Reference Bandwidth (Mbps)", + "details": "Set reference bandwidth method to assign OSPF cost", + "key": "reference-bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "compatible" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "RFC 1583 Compatible", + "details": "Calculate summary route cost based on RFC 1583", + "key": "rfc1583", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Originate Default Route", + "details": "Distribute default external route into OSPF", + "key": "originate", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information", + "originate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Always", + "details": "Always advertise default route", + "key": "always", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information", + "originate" + ], + "dataType": { + "max": 16777214, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default Metric", + "details": "Set metric used to generate default route <0..16777214>", + "key": "metric", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "default-information", + "originate" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "type1", + "value": "type1" + }, + { + "key": "type2", + "value": "type2" + } + ] + }, + "defaultOption": "ignore", + "description": "Metric Type", + "details": "Set default route type", + "key": "metric-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "distance" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance for External Routes", + "details": "Set distance for external routes", + "key": "external", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "distance" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance for Inter-Area Routes", + "details": "Set distance for inter-area routes", + "key": "inter-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "distance" + ], + "dataType": { + "default": 110, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance for Intra-Area Routes", + "details": "Set distance for intra-area routes", + "key": "intra-area", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "timers", + "spf" + ], + "dataType": { + "default": 200, + "max": 600000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SPF Calculation Delay (milliseconds)", + "details": "Set delay from first change received until performing SPF calculation", + "key": "delay", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "timers", + "spf" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Initial Hold Time (milliseconds)", + "details": "Set initial hold time between consecutive SPF calculations", + "key": "initial-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ospf", + "timers", + "spf" + ], + "dataType": { + "default": 10000, + "max": 600000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Hold Time (milliseconds)", + "details": "Set maximum hold time between consecutive SPF calculations", + "key": "max-hold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "nat", + "value": "nat" + }, + { + "key": "eigrp", + "value": "eigrp" + }, + { + "key": "natpool-outside", + "value": "natpool-outside" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Set the protocol", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set route policy to apply to redistributed routes", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ospf" + ], + "defaultOption": "ignore", + "description": "Redistribute Routes", + "details": "Redistribute routes", + "key": "redistribute", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "administrative", + "value": "administrative" + }, + { + "key": "on-startup", + "value": "on-startup" + } + ] + }, + "defaultOption": "constant", + "description": "Type", + "details": "Set the router LSA advertisement type", + "key": "ad-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 86400, + "min": 5, + "type": "number" + }, + "defaultOption": "constant", + "description": "Advertisement Time (seconds)", + "details": "Set how long to advertise maximum metric after router starts up", + "key": "time", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ospf", + "max-metric" + ], + "defaultOption": "ignore", + "description": "Router LSA", + "details": "Advertise own router LSA with infinite distance", + "key": "router-lsa", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "ad-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Set direction to apply policy", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Policy Name", + "details": "Name of route policy", + "key": "pol-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ospf" + ], + "defaultOption": "ignore", + "description": "Route Policy", + "details": "Set route policy to apply", + "key": "route-policy", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Area Number", + "details": "Set OSPF area number", + "key": "a-num", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "stub" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No summary", + "details": "Do not inject interarea routes into stub", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "candidate", + "value": "candidate" + }, + { + "key": "never", + "value": "never" + }, + { + "key": "always", + "value": "always" + } + ] + }, + "defaultOption": "ignore", + "description": "Translate", + "details": "Set translate", + "key": "translate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nssa" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-summary", + "details": "Do not inject interarea routes into NSSA", + "key": "no-summary", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 10, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (seconds)", + "details": "Set interval between OSPF hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 40, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Dead Interval (seconds)", + "details": "Set interval after which neighbor is declared to be down", + "key": "dead-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 5, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "LSA Retransmission Interval (seconds)", + "details": "Set time between retransmitting LSAs", + "key": "retransmit-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface Cost", + "details": "Set cost of OSPF interface", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Designated Router Priority", + "details": "Set router\u2019s priority to be elected as designated router", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "broadcast", + "type": "enum", + "values": [ + { + "key": "broadcast", + "value": "broadcast" + }, + { + "key": "point-to-point", + "value": "point-to-point" + } + ] + }, + "defaultOption": "ignore", + "description": "OSPF Network Type", + "details": "Set the OSPF network type", + "key": "network", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Passive Interface", + "details": "Set the interface to advertise its address, but not to actively run OSPF", + "key": "passive-interface", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "simple", + "value": "simple" + }, + { + "key": "message-digest", + "value": "message-digest" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Type", + "details": "Set OSPF interface authentication type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication" + ], + "dataType": { + "maxLength": 31, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Authentication Key", + "details": "Set OSPF interface authentication key", + "key": "authentication-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication", + "message-digest" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Message Digest Key ID", + "details": "Set MD5 message digest key", + "key": "message-digest-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "authentication", + "message-digest" + ], + "dataType": { + "maxLength": 31, + "minLength": 1, + "type": "passphrase" + }, + "defaultOption": "ignore", + "description": "Message Digest Key", + "details": "Set MD5 authentication key", + "key": "md5", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "OSPF Interface", + "details": "Set OSPF interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Address", + "details": "Set matching prefix", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16777215, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Cost", + "details": "Set cost for this range", + "key": "cost", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "No-advertise", + "details": "Do not advertise this range", + "key": "no-advertise", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Summarize Routes", + "details": "Summarize OSPF routes at an area boundary", + "key": "range", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + } + ], + "dataPath": [ + "ospf" + ], + "defaultOption": "ignore", + "description": "OSPF Area", + "details": "Configure OSPF area", + "key": "area", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "a-num" + ] + } + ], + "name": "ospf", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/pim.json b/gen/models/feature_templates/pim.json new file mode 100644 index 00000000..0adbbcf5 --- /dev/null +++ b/gen/models/feature_templates/pim.json @@ -0,0 +1,176 @@ +{ + "fields": [ + { + "dataPath": [ + "pim" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable PIM", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Auto-RP", + "details": "Enable or disable auto-RP", + "key": "auto-rp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim" + ], + "dataType": { + "default": 0, + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "SPT Threshold", + "details": "Set when PIM router joins the SPT (kbps)", + "key": "spt-threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pim" + ], + "dataType": { + "default": "sticky", + "type": "enum", + "values": [ + { + "key": "random", + "value": "random" + }, + { + "key": "sticky", + "value": "sticky" + } + ] + }, + "defaultOption": "ignore", + "description": "Replicator", + "details": "Set how replicator is selected", + "key": "replicator-selection", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set interface name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 30, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval (seconds)", + "details": "Set interval between PIM hello packets", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 60, + "max": 600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Join/Prune Interval (seconds)", + "details": "Set interval at which PIM multicast traffic can join or be removed from RPT or SPT", + "key": "join-prune-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "pim" + ], + "defaultOption": "ignore", + "description": "Interface", + "details": "Set PIM interface parameters", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "pim", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "xmlPath": [], + "xmlRootTag": "router" +} \ No newline at end of file diff --git a/gen/models/feature_templates/probes.json b/gen/models/feature_templates/probes.json new file mode 100644 index 00000000..a01bcbf7 --- /dev/null +++ b/gen/models/feature_templates/probes.json @@ -0,0 +1,677 @@ +{ + "fields": [ + { + "dataPath": [ + "probe" + ], + "dataType": { + "default": 30, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Latency-Probe Frequency", + "details": "Latency-Probe Frequency in seconds: <0..65530>", + "key": "latency", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "probe" + ], + "dataType": { + "default": false, + "type": "boolean" + }, + "defaultOption": "constant", + "description": "PMTU discovery", + "details": "PMTU discovery", + "key": "pmtu-discovery", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "salesforce_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "office365_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "amazon_aws_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "oracle_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "box_net_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "dropbox_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "intuit_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "concur_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "sugar_crm_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "zoho_crm_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "zendesk_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "gotomeeting_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe", + "saas", + "google_apps" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "DSCP value used for Saas Probe", + "details": "DSCP value used for Saas Probe", + "key": "dscp", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe-path" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "on-change", + "value": "on-change" + }, + { + "key": "periodic", + "value": "periodic" + } + ] + }, + "defaultOption": "constant", + "description": "trigger", + "details": "trigger", + "key": "trigger", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "probe-path" + ], + "dataType": { + "default": 30, + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Path-Probe Frequency", + "details": "Path-Probe Frequency in seconds: <0..65530>", + "key": "latency", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "probe-path", + "branch" + ], + "dataType": { + "default": false, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Start probes all DIA Interfaces", + "details": "Start probes all DIA Interfaces", + "key": "color-all-dia", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "probe-path", + "branch" + ], + "dataType": { + "type": "enumList", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "constant", + "description": "TLOCS List Color", + "details": "Local color list", + "key": "color-list", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interfaces", + "details": "local interface", + "key": "local-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "probe-path", + "gateway" + ], + "defaultOption": "constant", + "description": "Gateway Internet Exit interfaces", + "details": "Gateway Internet Exit interfaces", + "key": "local-interface-list", + "maxElements": 8, + "minElements": 0, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "local-interface" + ] + }, + { + "dataPath": [ + "bfd-probe-path" + ], + "dataType": { + "default": false, + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Start probes all TLOCs", + "details": "Start probes all TLOCs", + "key": "all-tlocs", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "bfd-probe-path" + ], + "dataType": { + "type": "enumList", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "constant", + "description": "TLOCS List Color", + "details": "Local color list", + "key": "color-list", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "bfd-probe-path" + ], + "dataType": { + "default": false, + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Start event / On-Change based probe-paths", + "details": "Start event / On-Change based probe-paths", + "key": "trigger-on-change", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "bfd-probe-path" + ], + "dataType": { + "default": 3600, + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Frequency", + "details": "Period (secs) + on-change for the probe path", + "key": "trigger-periodic", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "name": "probes", + "nameSpace": "http://viptela.com/probe", + "xmlPath": [], + "xmlRootTag": "probe-root" +} \ No newline at end of file diff --git a/gen/models/feature_templates/secure-internet-gateway.json b/gen/models/feature_templates/secure-internet-gateway.json new file mode 100644 index 00000000..3b3f706a --- /dev/null +++ b/gen/models/feature_templates/secure-internet-gateway.json @@ -0,0 +1,1407 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "List of VPN instances", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "maxLength": 8, + "min": 1, + "minLength": 4, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..255)", + "details": "Interface name: IPsec when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Auto Tunnel Mode", + "details": "Auto Tunnel Mode", + "key": "auto", + "objectType": "object", + "optionType": [ + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Unnumbered Interface", + "details": "Unnumbered interface", + "key": "unnumbered", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "keepalive" + ], + "dataType": { + "default": 10, + "max": 65536, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "GRE keepalive interval <0..65535> seconds", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "keepalive" + ], + "dataType": { + "default": 3, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Retries", + "details": "GRE keepalive retries <0..255>", + "key": "retries", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Tunnel Source IP Address", + "details": "Tunnel source IP Address", + "key": "tunnel-source", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Source Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "default": "dynamic", + "defaultOption": "constant", + "description": "Tunnel Destination IP Address/FQDN(Ipsec)", + "details": "Tunnel destination IP address", + "key": "tunnel-destination", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "secure-internet-gateway-umbrella", + "type": "enum", + "values": [ + { + "key": "secure-internet-gateway-umbrella", + "value": "Umbrella" + }, + { + "key": "secure-internet-gateway-zscaler", + "value": "Zscaler" + }, + { + "key": "secure-internet-gateway-other", + "value": "Generic" + } + ] + }, + "defaultOption": "constant", + "description": "SIG Provider", + "details": "SIG Tunnel Provider", + "key": "tunnel-set", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "primary-dc", + "type": "enum", + "values": [ + { + "key": "primary-dc", + "value": "Primary" + }, + { + "key": "secondary-dc", + "value": "Secondary" + } + ] + }, + "defaultOption": "constant", + "description": "Data-Center", + "details": "SIG Tunnel Data Center", + "key": "tunnel-dc-preference", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1400, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "notIgnore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "default": 10, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Interval", + "details": "IKE keepalive interval (seconds)", + "key": "dpd-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "default": 3, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Retries", + "details": "IKE keepalive retries", + "key": "dpd-retries", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 2, + "max": 2, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "IKE Version", + "details": "IKE Version <1..2>", + "key": "ike-version", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 127, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Preshared Key", + "details": "Use preshared key to authenticate IKE peer", + "key": "pre-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 14400, + "max": 1209600, + "min": 300, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IKE Rekey Interval (seconds)", + "details": "IKE rekey interval <300..1209600> seconds", + "key": "ike-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "aes256-cbc-sha1", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha2", + "value": "AES 256 CBC SHA2" + }, + { + "key": "aes128-cbc-sha1", + "value": "AES 128 CBC SHA1" + }, + { + "key": "aes128-cbc-sha2", + "value": "AES 128 CBC SHA2" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Cipher Suite", + "details": "IKE identity the IKE preshared secret belongs to", + "key": "ike-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "14", + "type": "enum", + "values": [ + { + "key": "2", + "value": "2 1024-bit modulus" + }, + { + "key": "14", + "value": "14 2048-bit modulus" + }, + { + "key": "15", + "value": "15 3072-bit modulus" + }, + { + "key": "16", + "value": "16 4096-bit modulus" + } + ] + }, + "defaultOption": "notIgnore", + "description": "IKE Diffie-Hellman Group", + "details": "IKE Diffie Hellman Groups", + "key": "ike-group", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "constant", + "description": "Preshared Key", + "details": "Use preshared key to authenticate IKE peer", + "key": "pre-shared-key-dynamic", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for local End point", + "details": "IKE ID for the local endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-local-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for Remote End point", + "details": "IKE ID for the remote endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-remote-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 3600, + "max": 1209600, + "min": 300, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Rekey Interval (seconds)", + "details": "IPsec rekey interval <300..1209600> seconds", + "key": "ipsec-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 512, + "max": 4096, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Replay Window", + "details": "Replay window size 32..8192 (must be a power of 2)", + "key": "ipsec-replay-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "aes256-gcm", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha384", + "value": "AES 256 CBC SHA 384" + }, + { + "key": "aes256-cbc-sha256", + "value": "AES 256 CBC SHA 256" + }, + { + "key": "aes256-cbc-sha512", + "value": "AES 256 CBC SHA 512" + }, + { + "key": "aes256-gcm", + "value": "AES 256 GCM" + }, + { + "key": "null-sha1", + "value": "Null SHA1" + }, + { + "key": "null-sha384", + "value": "Nul SHA 384" + }, + { + "key": "null-sha256", + "value": "Nul SHA 256" + }, + { + "key": "null-sha512", + "value": "Nul SHA 512" + } + ] + }, + "defaultOption": "notIgnore", + "description": "IPsec Cipher Suite", + "details": "IPsec(ESP) encryption and integrity protocol", + "key": "ipsec-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "group-2", + "value": "Group-2 1024-bit modulus" + }, + { + "key": "group-14", + "value": "Group-14 2048-bit modulus" + }, + { + "key": "group-15", + "value": "Group-15 3072-bit modulus" + }, + { + "key": "group-16", + "value": "Group-16 4096-bit modulus" + }, + { + "key": "none", + "value": "None" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Perfect Forward Secrecy", + "details": "IPsec perfect forward secrecy settings", + "key": "perfect-forward-secrecy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track this interface for SIG", + "details": "Enable/disable SIG tracking", + "key": "track-enable", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "IPSec Interface", + "details": "Interface name: IPsec when present", + "key": "interface", + "maxElements": 4, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "if-name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "sig", + "type": "enum", + "values": [ + { + "key": "sig", + "value": "SIG" + } + ] + }, + "defaultOption": "constant", + "description": "Service Type", + "details": "Service Type", + "key": "svc-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "constant", + "description": "Active Tunnel Interface", + "details": "Active Tunnel Interface for SIG", + "key": "active-interface", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Weight", + "details": "Active Tunnel Interface Weight", + "key": "active-interface-weight", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "constant", + "description": "Backup Tunnel Interface", + "details": "Backup Tunnel Interface for SIG", + "key": "backup-interface", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Weight", + "details": "Backup Tunnel Interface Weight", + "key": "backup-interface-weight", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [ + "ha-pairs" + ], + "defaultOption": "constant", + "description": "Interface Pair", + "details": "Interface Pair for active and backup", + "key": "interface-pair", + "maxElements": 4, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "active-interface", + "backup-interface" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Authentication Required", + "details": "Enforce Authentication", + "key": "auth-required", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "XFF Forwarding", + "details": "XFF forwarding enabled", + "key": "xff-forward-enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Firewall", + "details": "Firewall enabled", + "key": "ofw-enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable IPS Control", + "details": "Enable IPS Control", + "key": "ips-control", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Caution", + "details": "Enable Caution", + "key": "caution-enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "datacenters" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Primary Data-Center", + "details": "Custom Primary Datacenter", + "key": "primary-data-center", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "datacenters" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Secondary Data-Center", + "details": "Custom Secondary Datacenter", + "key": "secondary-data-center", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Surrogate IP", + "details": "Enable Surrogate IP", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": 0, + "max:": 4294967296, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Idle Time to Disassociation", + "details": "Idle time to disassociation", + "key": "idle-time", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "MINUTE", + "type": "enum", + "values": [ + { + "key": "MINUTE", + "value": "MINUTE" + }, + { + "key": "HOUR", + "value": "HOUR" + }, + { + "key": "DAY", + "value": "DAY" + } + ] + }, + "defaultOption": "ignore", + "description": "Display Time Unit", + "details": "Display time unit", + "key": "display-time-unit", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enforce Surrogate IP for known browsers", + "details": "Enforce Surrogate IP for known browsers", + "key": "ip-enforced-for-known-browsers", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": 0, + "max:": 4294967296, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Refresh Time", + "details": "Refresh time for re-validation of surrogacy in minutes", + "key": "refresh-time", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "surrogate" + ], + "dataType": { + "default": "MINUTE", + "type": "enum", + "values": [ + { + "key": "MINUTE", + "value": "MINUTE" + }, + { + "key": "HOUR", + "value": "HOUR" + }, + { + "key": "DAY", + "value": "DAY" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Time Unit", + "details": "Refresh Time unit", + "key": "refresh-time-unit", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable AUP", + "details": "Enable Acceptable User Policy", + "key": "enabled", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "First Time AUP Block Internet Access", + "details": "For first-time Acceptable User Policy behavior, block Internet access", + "key": "block-internet-until-accepted", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Force SSL Inspection", + "details": "For first-time Acceptable User Policy behavior, force SSL inspection", + "key": "force-ssl-inspection", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "zscaler-location-settings", + "aup" + ], + "dataType": { + "default": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "AUP Frequency", + "details": "Custom Acceptable User Policy frequency in days", + "key": "timeout", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "umbrella-data-center" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Umbrella Primary Data-Center", + "details": "Umbrella Primary Datacenter", + "key": "data-center-primary", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + }, + { + "dataPath": [ + "umbrella-data-center" + ], + "dataType": { + "default": "Auto", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Umbrella Secondary Data-Center", + "details": "Umbrella Secondary Datacenter", + "key": "data-center-secondary", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Service", + "details": "Configure services", + "key": "service", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "svc-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Tracker name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 512, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "API url of endpoint", + "details": "API url of endpoint", + "key": "endpoint-api-url", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 1000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold", + "details": "Probe Timeout threshold <100..1000> milliseconds", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 60, + "max": 600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "Probe interval <10..600> seconds", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 3, + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Probe failure multiplier <1..10> failed attempts", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": " SIG", + "type": "enum", + "values": [ + { + "key": "SIG", + "value": "SIG" + } + ] + }, + "defaultOption": "constant", + "description": "Tracker Type", + "details": "", + "key": "tracker-type", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Tracker", + "details": "Tracker configuration", + "key": "tracker", + "maxElements": 32, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "tracker-type", + "name" + ] + } + ], + "name": "Secure Internet Gateway", + "nameSpace": "http://viptela.com/vpn", + "uniqueKey": "vpn-id", + "xmlPath": [ + "vpn" + ], + "xmlRootTag": "vpn-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/security-vedge.json b/gen/models/feature_templates/security-vedge.json new file mode 100644 index 00000000..341ea5c7 --- /dev/null +++ b/gen/models/feature_templates/security-vedge.json @@ -0,0 +1,174 @@ +{ + "fields": [ + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 86400, + "max": 1209600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Rekey Time (seconds)", + "details": "Set how often to change the AES key for DTLS connections", + "key": "rekey", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "512", + "type": "enum", + "values": [ + { + "key": "64", + "value": 64 + }, + { + "key": "128", + "value": 128 + }, + { + "key": "256", + "value": 256 + }, + { + "key": "512", + "value": 512 + }, + { + "key": "1024", + "value": 1024 + }, + { + "key": "2048", + "value": 2048 + }, + { + "key": "4096", + "value": 4096 + }, + { + "key": "8192", + "value": 8192 + } + ] + }, + "defaultOption": "ignore", + "description": "Replay Window", + "details": "Set the sliding replay window size", + "key": "replay-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "none", + "value": "none" + }, + { + "key": "sha1-hmac", + "value": "sha1-hmac" + }, + { + "key": "ah-sha1-hmac", + "value": "ah-sha1-hmac" + }, + { + "key": "ah-no-id", + "value": "ah-no-id" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Type", + "details": "Set the authentication type for DTLS connections", + "key": "authentication-type", + "objectStatus": "deprecated", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "none", + "value": "none" + }, + { + "key": "esp", + "value": "esp" + }, + { + "key": "ip-udp-esp", + "value": "ip-udp-esp" + }, + { + "key": "ip-udp-esp-no-id", + "value": "ip-udp-esp-no-id" + } + ] + }, + "defaultOption": "ignore", + "description": "Integrity Type", + "details": "Set the authentication type for DTLS connections", + "key": "integrity-type", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IPsec pairwise-keying", + "details": "Enable or disable IPsec pairwise-keying", + "key": "pairwise-keying", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Security", + "nameSpace": "http://viptela.com/security", + "xmlPath": [], + "xmlRootTag": "security" +} \ No newline at end of file diff --git a/gen/models/feature_templates/security-vsmart.json b/gen/models/feature_templates/security-vsmart.json new file mode 100644 index 00000000..592fa115 --- /dev/null +++ b/gen/models/feature_templates/security-vsmart.json @@ -0,0 +1,58 @@ +{ + "fields": [ + { + "dataPath": [ + "control" + ], + "dataType": { + "default": "dtls", + "type": "enum", + "values": [ + { + "key": "dtls", + "value": "DTLS" + }, + { + "key": "tls", + "value": "TLS" + } + ] + }, + "defaultOption": "ignore", + "description": "Protocol", + "details": "Set protocol for control-plane connections", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "control" + ], + "dataType": { + "default": 23456, + "max": 65535, + "min": 1025, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Control TLS Port", + "details": "Set TLS port number", + "key": "tls-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "Security", + "nameSpace": "http://viptela.com/security", + "xmlPath": [], + "xmlRootTag": "security" +} \ No newline at end of file diff --git a/gen/models/feature_templates/sig-credentials.json b/gen/models/feature_templates/sig-credentials.json new file mode 100644 index 00000000..9ccf255a --- /dev/null +++ b/gen/models/feature_templates/sig-credentials.json @@ -0,0 +1,199 @@ +{ + "fields": [ + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Organization", + "details": "Organization Name", + "key": "organization", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner Base URI", + "details": "Partner Base URI to be used in REST calls", + "key": "partner-base-uri", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Username", + "details": "Username of Zscaler partner account", + "key": "username", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Password of Zscaler partner account", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Cloud Name", + "details": "Third Party Cloud Name", + "key": "cloud-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner User Name", + "details": "Partner User Name", + "key": "partner-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner Password", + "details": "Partner Password", + "key": "partner-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "zscaler" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Partner API Key", + "details": "Partner API Key", + "key": "partner-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "umbrella" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Registration Key", + "details": "API Key", + "key": "api-key", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "umbrella" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Secret", + "details": "API Secret", + "key": "api-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [ + "umbrella" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Organization ID", + "details": "Ord ID", + "key": "org-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "name": "SigCredentials", + "nameSpace": "http://viptela.com/sig", + "xmlPath": [], + "xmlRootTag": "secure-internet-gateway" +} \ No newline at end of file diff --git a/gen/models/feature_templates/snmp.json b/gen/models/feature_templates/snmp.json new file mode 100644 index 00000000..ced3e922 --- /dev/null +++ b/gen/models/feature_templates/snmp.json @@ -0,0 +1,734 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Enable or disable SNMP", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Contact Person", + "details": "Set the contact for this managed node", + "key": "contact", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Name of Device for SNMP", + "details": "Set the assigned name for this managed node", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Location of Device", + "details": "Set the physical location of this managed node", + "key": "location", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set the name of the SNMP view", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Object Identifier", + "details": "Configure identifier of subtree of MIB objects", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Exclude OID", + "details": "Exclude the OID", + "key": "exclude", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Identifier", + "details": "Configure SNMP object identifier", + "key": "oid", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "id" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "View", + "details": "Configure a view record", + "key": "view", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Set name of the SNMP community", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "View", + "details": "Set name of the SNMP view", + "key": "view", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "read-only", + "value": "read-only" + } + ] + }, + "defaultOption": "constant", + "description": "Authorization", + "details": "Configure access permissions", + "key": "authorization", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Community", + "details": "Configure SNMP community", + "key": "community", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Name of the SNMP group", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "no-auth-no-priv", + "value": "NoAuthNoPriv" + }, + { + "key": "auth-no-priv", + "value": "AuthNoPriv" + }, + { + "key": "auth-priv", + "value": "AuthPriv" + } + ] + }, + "defaultOption": "constant", + "description": "Security Level", + "details": "Configure security level", + "key": "security-level", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "View", + "details": "Name of the SNMP view", + "key": "view", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Group", + "details": "Configure an SNMP group", + "key": "group", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name", + "security-level" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "User", + "details": "Name of the SNMP user", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "md5", + "value": "MD5" + }, + { + "key": "sha-256", + "value": "SHA-256" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Protocol", + "details": "Configure authentication protocol", + "key": "auth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Authentication Password", + "details": "Specify authentication protocol password", + "key": "auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "aes-cfb-128", + "value": "AES-CFB-128" + }, + { + "key": "aes-256-cfb-128", + "value": "AES-256-CFB-128" + } + ] + }, + "defaultOption": "ignore", + "description": "Privacy Protocol", + "details": "Configure privacy protocol", + "key": "priv", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Privacy Password", + "details": "Specify privacy protocol password", + "key": "priv-password", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Group", + "details": "Name of the SNMP group", + "key": "group", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "User", + "details": "Configure an SNMP user", + "key": "user", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN ID", + "details": "Set VPN in which SNMP server is located", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "Set IPv4/IPv6 address of SNMP server", + "key": "ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "UDP Port", + "details": "Set UDP port number to connect to SNMP server", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Trap Group Name", + "details": "Set name of the trap group", + "key": "group-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Community Name", + "details": "Set name of the SNMP community", + "key": "community-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ], + "vipNeedsEncryption": "true" + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "User Name", + "details": "Set name of the SNMP user", + "key": "user", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Source Interface", + "details": "Source interface for outgoing SNMP traps", + "key": "source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "trap" + ], + "defaultOption": "ignore", + "description": "Trap Target", + "details": "Configure SNMP server to receive SNMP traps", + "key": "target", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "vpn-id", + "ip", + "port" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Group Name", + "details": "Set name of trap group", + "key": "group-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "all", + "value": "all" + }, + { + "key": "app-route", + "value": "app-route" + }, + { + "key": "bfd", + "value": "bfd" + }, + { + "key": "control", + "value": "control" + }, + { + "key": "dhcp", + "value": "dhcp" + }, + { + "key": "hardware", + "value": "hardware" + }, + { + "key": "omp", + "value": "omp" + }, + { + "key": "routing", + "value": "routing" + }, + { + "key": "security", + "value": "security" + }, + { + "key": "system", + "value": "system" + }, + { + "key": "vpn", + "value": "vpn" + } + ] + }, + "defaultOption": "constant", + "description": "Module Name", + "details": "Module name", + "key": "module", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "critical", + "value": "critical" + }, + { + "key": "major", + "value": "major" + }, + { + "key": "minor", + "value": "minor" + } + ] + }, + "defaultOption": "constant", + "description": "Severity Levels", + "details": "Set the severity level", + "key": "level", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Module", + "details": "Configure group modules", + "key": "enable", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "module" + ] + } + ], + "dataPath": [ + "trap" + ], + "defaultOption": "ignore", + "description": "Trap Group", + "details": "Configure SNMP trap group", + "key": "group", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "group-name" + ] + } + ], + "name": "SNMP", + "nameSpace": "http://viptela.com/snmp", + "xmlRootTag": "snmp" +} \ No newline at end of file diff --git a/gen/models/feature_templates/switchport.json b/gen/models/feature_templates/switchport.json new file mode 100644 index 00000000..49b50b9b --- /dev/null +++ b/gen/models/feature_templates/switchport.json @@ -0,0 +1,744 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 31, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Slot", + "details": "Number of Slots", + "key": "slot", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 31, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Sub-Slot", + "details": "Number of Sub-Slots", + "key": "subslot", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "4", + "value": "4 Port" + }, + { + "key": "8", + "value": "8 Port" + }, + { + "key": "22", + "value": "22 Port" + }, + { + "key": "50", + "value": "50 Port" + } + ] + }, + "defaultOption": "constant", + "description": "Module", + "details": "Module type", + "key": "module", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set Interface name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "switchport" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "access", + "value": "access" + }, + { + "key": "trunk", + "value": "trunk" + } + ] + }, + "defaultOption": "constant", + "description": "Switch port type", + "details": "Set type of switch port: access/trunk", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + }, + { + "key": "2500", + "value": "2500" + }, + { + "key": "10000", + "value": "10000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "access", + "vlan" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Set VLAN identifier associated with bridging domain", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "trunk", + "allowed", + "vlan" + ], + "dataType": { + "range": "1-4094", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Allowed VLANS", + "details": "Configure VLAN IDs used with the trunk", + "key": "vlans", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "trunk", + "native" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Native VLAN ID", + "details": "Configure VLAN ID used for native VLAN", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "dot1x on off", + "details": "Set 802.1x on off", + "key": "dot1x-enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "auto", + "type": "enum", + "values": [ + { + "key": "auto", + "value": "auto" + }, + { + "key": "force-unauthorized", + "value": "force-unauthorized" + }, + { + "key": "force-authorized", + "value": "force-authorized" + } + ] + }, + "defaultOption": "ignore", + "description": "Port Control Mode", + "details": "Set Port-Control Mode", + "key": "port-control", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "dot1x", + "value": "dot1x" + }, + { + "key": "mab", + "value": "MAB" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Order", + "details": "Specify authentication methods in the order of preference", + "key": "auth-order", + "maxElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Voice VLAN ID", + "details": "Configure Voice Vlan", + "key": "voice-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Interface PAE Type", + "details": "Set 802.1x Interface Pae Type", + "key": "pae-enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "MAC Authentication Bypass", + "details": "MAC Authentication Bypass", + "key": "mac-authentication-bypass", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication" + ], + "dataType": { + "default": "single-host", + "type": "enum", + "values": [ + { + "key": "single-host", + "value": "Single Host" + }, + { + "key": "multi-auth", + "value": "Multi Auth" + }, + { + "key": "multi-host", + "value": "Multi Host" + }, + { + "key": "multi-domain", + "value": "Multi Domain" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Host Mode", + "details": "Set host mode", + "key": "host-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Periodic Reauthentication", + "details": "Enable Periodic Reauthentication", + "key": "enable-periodic-reauth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication", + "periodic-reauthentication" + ], + "dataType": { + "default": 60, + "max": 1440, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Periodic Reauthentication Inactivity Timeout (seconds)", + "details": "Periodic Reauthentication Inactivity Timeout (in seconds)", + "key": "inactivity", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication", + "periodic-reauthentication" + ], + "dataType": { + "default": 0, + "max": 1440, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Periodic Reauthentication Interval (seconds)", + "details": "Periodic Reauthentication Interval (in seconds)", + "key": "reauthentication", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication" + ], + "dataType": { + "default": "both", + "type": "enum", + "values": [ + { + "key": "both", + "value": "both" + }, + { + "key": "in", + "value": "in" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Control Direction", + "details": "Set uni or bi directional authorization mode", + "key": "control-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication", + "event" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Restricted VLAN", + "details": "Set Restricted VLAN ID", + "key": "restricted-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication", + "event" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Guest VLAN", + "details": "Set vlan to drop non-802.1x enabled clients into if client is not in MAB list", + "key": "guest-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication", + "event" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Critical VLAN", + "details": "Set Critical VLAN", + "key": "critical-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "authentication", + "event" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Critical Voice VLAN", + "details": "Enable Critical Voice VLAN", + "key": "enable-voice", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Interface name", + "details": "Interface name: GigabitEthernet0/<>/<> when present", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "if-name" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 1000000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Age-Out Time (seconds)", + "details": "Set when a MAC table entry ages out (0 to disable, 10-1000000 otherwise)", + "key": "age-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "Set MAC address in xxxx.xxxx.xxxx format", + "key": "macaddr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Switch Port Interface Name", + "details": "Interface name: GigabitEthernet0/<>/<>", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "VLAN ID", + "details": "Configure VLAN ID used with the mac and interface", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Static MAC Address", + "details": "Add static MAC address entries for interface", + "key": "static-mac-address", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "macaddr", + "vlan" + ] + } + ], + "name": "switchport", + "nameSpace": "http://viptela.com/bridge", + "xmlPath": [], + "xmlRootTag": "switchport" +} \ No newline at end of file diff --git a/gen/models/feature_templates/system-vedge.json b/gen/models/feature_templates/system-vedge.json new file mode 100644 index 00000000..ec9706af --- /dev/null +++ b/gen/models/feature_templates/system-vedge.json @@ -0,0 +1,2877 @@ +{ + "fields": [ + { + "dataPath": [ + "clock" + ], + "dataType": { + "default": "UTC", + "type": "enum", + "values": [ + { + "key": "Europe/Andorra", + "value": "Europe/Andorra" + }, + { + "key": "Asia/Dubai", + "value": "Asia/Dubai" + }, + { + "key": "Asia/Kabul", + "value": "Asia/Kabul" + }, + { + "key": "America/Antigua", + "value": "America/Antigua" + }, + { + "key": "America/Anguilla", + "value": "America/Anguilla" + }, + { + "key": "Europe/Tirane", + "value": "Europe/Tirane" + }, + { + "key": "Asia/Yerevan", + "value": "Asia/Yerevan" + }, + { + "key": "Africa/Luanda", + "value": "Africa/Luanda" + }, + { + "key": "Antarctica/McMurdo", + "value": "Antarctica/McMurdo" + }, + { + "key": "Antarctica/Rothera", + "value": "Antarctica/Rothera" + }, + { + "key": "Antarctica/Palmer", + "value": "Antarctica/Palmer" + }, + { + "key": "Antarctica/Mawson", + "value": "Antarctica/Mawson" + }, + { + "key": "Antarctica/Davis", + "value": "Antarctica/Davis" + }, + { + "key": "Antarctica/Casey", + "value": "Antarctica/Casey" + }, + { + "key": "Antarctica/Vostok", + "value": "Antarctica/Vostok" + }, + { + "key": "Antarctica/DumontDUrville", + "value": "Antarctica/DumontDUrville" + }, + { + "key": "Antarctica/Syowa", + "value": "Antarctica/Syowa" + }, + { + "key": "America/Argentina/Buenos_Aires", + "value": "America/Argentina/Buenos_Aires" + }, + { + "key": "America/Argentina/Cordoba", + "value": "America/Argentina/Cordoba" + }, + { + "key": "America/Argentina/Salta", + "value": "America/Argentina/Salta" + }, + { + "key": "America/Argentina/Jujuy", + "value": "America/Argentina/Jujuy" + }, + { + "key": "America/Argentina/Tucuman", + "value": "America/Argentina/Tucuman" + }, + { + "key": "America/Argentina/Catamarca", + "value": "America/Argentina/Catamarca" + }, + { + "key": "America/Argentina/La_Rioja", + "value": "America/Argentina/La_Rioja" + }, + { + "key": "America/Argentina/San_Juan", + "value": "America/Argentina/San_Juan" + }, + { + "key": "America/Argentina/Mendoza", + "value": "America/Argentina/Mendoza" + }, + { + "key": "America/Argentina/San_Luis", + "value": "America/Argentina/San_Luis" + }, + { + "key": "America/Argentina/Rio_Gallegos", + "value": "America/Argentina/Rio_Gallegos" + }, + { + "key": "America/Argentina/Ushuaia", + "value": "America/Argentina/Ushuaia" + }, + { + "key": "Pacific/Pago_Pago", + "value": "Pacific/Pago_Pago" + }, + { + "key": "Europe/Vienna", + "value": "Europe/Vienna" + }, + { + "key": "Australia/Lord_Howe", + "value": "Australia/Lord_Howe" + }, + { + "key": "Antarctica/Macquarie", + "value": "Antarctica/Macquarie" + }, + { + "key": "Australia/Hobart", + "value": "Australia/Hobart" + }, + { + "key": "Australia/Currie", + "value": "Australia/Currie" + }, + { + "key": "Australia/Melbourne", + "value": "Australia/Melbourne" + }, + { + "key": "Australia/Sydney", + "value": "Australia/Sydney" + }, + { + "key": "Australia/Broken_Hill", + "value": "Australia/Broken_Hill" + }, + { + "key": "Australia/Brisbane", + "value": "Australia/Brisbane" + }, + { + "key": "Australia/Lindeman", + "value": "Australia/Lindeman" + }, + { + "key": "Australia/Adelaide", + "value": "Australia/Adelaide" + }, + { + "key": "Australia/Darwin", + "value": "Australia/Darwin" + }, + { + "key": "Australia/Perth", + "value": "Australia/Perth" + }, + { + "key": "Australia/Eucla", + "value": "Australia/Eucla" + }, + { + "key": "America/Aruba", + "value": "America/Aruba" + }, + { + "key": "Europe/Mariehamn", + "value": "Europe/Mariehamn" + }, + { + "key": "Asia/Baku", + "value": "Asia/Baku" + }, + { + "key": "Europe/Sarajevo", + "value": "Europe/Sarajevo" + }, + { + "key": "America/Barbados", + "value": "America/Barbados" + }, + { + "key": "Asia/Dhaka", + "value": "Asia/Dhaka" + }, + { + "key": "Europe/Brussels", + "value": "Europe/Brussels" + }, + { + "key": "Africa/Ouagadougou", + "value": "Africa/Ouagadougou" + }, + { + "key": "Europe/Sofia", + "value": "Europe/Sofia" + }, + { + "key": "Asia/Bahrain", + "value": "Asia/Bahrain" + }, + { + "key": "Africa/Bujumbura", + "value": "Africa/Bujumbura" + }, + { + "key": "Africa/Porto-Novo", + "value": "Africa/Porto-Novo" + }, + { + "key": "America/St_Barthelemy", + "value": "America/St_Barthelemy" + }, + { + "key": "Atlantic/Bermuda", + "value": "Atlantic/Bermuda" + }, + { + "key": "Asia/Brunei", + "value": "Asia/Brunei" + }, + { + "key": "America/La_Paz", + "value": "America/La_Paz" + }, + { + "key": "America/Kralendijk", + "value": "America/Kralendijk" + }, + { + "key": "America/Noronha", + "value": "America/Noronha" + }, + { + "key": "America/Belem", + "value": "America/Belem" + }, + { + "key": "America/Fortaleza", + "value": "America/Fortaleza" + }, + { + "key": "America/Recife", + "value": "America/Recife" + }, + { + "key": "America/Araguaina", + "value": "America/Araguaina" + }, + { + "key": "America/Maceio", + "value": "America/Maceio" + }, + { + "key": "America/Bahia", + "value": "America/Bahia" + }, + { + "key": "America/Sao_Paulo", + "value": "America/Sao_Paulo" + }, + { + "key": "America/Campo_Grande", + "value": "America/Campo_Grande" + }, + { + "key": "America/Cuiaba", + "value": "America/Cuiaba" + }, + { + "key": "America/Santarem", + "value": "America/Santarem" + }, + { + "key": "America/Porto_Velho", + "value": "America/Porto_Velho" + }, + { + "key": "America/Boa_Vista", + "value": "America/Boa_Vista" + }, + { + "key": "America/Manaus", + "value": "America/Manaus" + }, + { + "key": "America/Eirunepe", + "value": "America/Eirunepe" + }, + { + "key": "America/Rio_Branco", + "value": "America/Rio_Branco" + }, + { + "key": "America/Nassau", + "value": "America/Nassau" + }, + { + "key": "Asia/Thimphu", + "value": "Asia/Thimphu" + }, + { + "key": "Africa/Gaborone", + "value": "Africa/Gaborone" + }, + { + "key": "Europe/Minsk", + "value": "Europe/Minsk" + }, + { + "key": "America/Belize", + "value": "America/Belize" + }, + { + "key": "America/St_Johns", + "value": "America/St_Johns" + }, + { + "key": "America/Halifax", + "value": "America/Halifax" + }, + { + "key": "America/Glace_Bay", + "value": "America/Glace_Bay" + }, + { + "key": "America/Moncton", + "value": "America/Moncton" + }, + { + "key": "America/Goose_Bay", + "value": "America/Goose_Bay" + }, + { + "key": "America/Blanc-Sablon", + "value": "America/Blanc-Sablon" + }, + { + "key": "America/Toronto", + "value": "America/Toronto" + }, + { + "key": "America/Nipigon", + "value": "America/Nipigon" + }, + { + "key": "America/Thunder_Bay", + "value": "America/Thunder_Bay" + }, + { + "key": "America/Iqaluit", + "value": "America/Iqaluit" + }, + { + "key": "America/Pangnirtung", + "value": "America/Pangnirtung" + }, + { + "key": "America/Resolute", + "value": "America/Resolute" + }, + { + "key": "America/Atikokan", + "value": "America/Atikokan" + }, + { + "key": "America/Rankin_Inlet", + "value": "America/Rankin_Inlet" + }, + { + "key": "America/Winnipeg", + "value": "America/Winnipeg" + }, + { + "key": "America/Rainy_River", + "value": "America/Rainy_River" + }, + { + "key": "America/Regina", + "value": "America/Regina" + }, + { + "key": "America/Swift_Current", + "value": "America/Swift_Current" + }, + { + "key": "America/Edmonton", + "value": "America/Edmonton" + }, + { + "key": "America/Cambridge_Bay", + "value": "America/Cambridge_Bay" + }, + { + "key": "America/Yellowknife", + "value": "America/Yellowknife" + }, + { + "key": "America/Inuvik", + "value": "America/Inuvik" + }, + { + "key": "America/Creston", + "value": "America/Creston" + }, + { + "key": "America/Dawson_Creek", + "value": "America/Dawson_Creek" + }, + { + "key": "America/Vancouver", + "value": "America/Vancouver" + }, + { + "key": "America/Whitehorse", + "value": "America/Whitehorse" + }, + { + "key": "America/Dawson", + "value": "America/Dawson" + }, + { + "key": "Indian/Cocos", + "value": "Indian/Cocos" + }, + { + "key": "Africa/Kinshasa", + "value": "Africa/Kinshasa" + }, + { + "key": "Africa/Lubumbashi", + "value": "Africa/Lubumbashi" + }, + { + "key": "Africa/Bangui", + "value": "Africa/Bangui" + }, + { + "key": "Africa/Brazzaville", + "value": "Africa/Brazzaville" + }, + { + "key": "Europe/Zurich", + "value": "Europe/Zurich" + }, + { + "key": "Africa/Abidjan", + "value": "Africa/Abidjan" + }, + { + "key": "Pacific/Rarotonga", + "value": "Pacific/Rarotonga" + }, + { + "key": "America/Santiago", + "value": "America/Santiago" + }, + { + "key": "Pacific/Easter", + "value": "Pacific/Easter" + }, + { + "key": "Africa/Douala", + "value": "Africa/Douala" + }, + { + "key": "Asia/Shanghai", + "value": "Asia/Shanghai" + }, + { + "key": "Asia/Harbin", + "value": "Asia/Harbin" + }, + { + "key": "Asia/Chongqing", + "value": "Asia/Chongqing" + }, + { + "key": "Asia/Urumqi", + "value": "Asia/Urumqi" + }, + { + "key": "Asia/Kashgar", + "value": "Asia/Kashgar" + }, + { + "key": "America/Bogota", + "value": "America/Bogota" + }, + { + "key": "America/Costa_Rica", + "value": "America/Costa_Rica" + }, + { + "key": "America/Havana", + "value": "America/Havana" + }, + { + "key": "Atlantic/Cape_Verde", + "value": "Atlantic/Cape_Verde" + }, + { + "key": "America/Curacao", + "value": "America/Curacao" + }, + { + "key": "Indian/Christmas", + "value": "Indian/Christmas" + }, + { + "key": "Asia/Nicosia", + "value": "Asia/Nicosia" + }, + { + "key": "Europe/Prague", + "value": "Europe/Prague" + }, + { + "key": "Europe/Berlin", + "value": "Europe/Berlin" + }, + { + "key": "Europe/Busingen", + "value": "Europe/Busingen" + }, + { + "key": "Africa/Djibouti", + "value": "Africa/Djibouti" + }, + { + "key": "Europe/Copenhagen", + "value": "Europe/Copenhagen" + }, + { + "key": "America/Dominica", + "value": "America/Dominica" + }, + { + "key": "America/Santo_Domingo", + "value": "America/Santo_Domingo" + }, + { + "key": "Africa/Algiers", + "value": "Africa/Algiers" + }, + { + "key": "America/Guayaquil", + "value": "America/Guayaquil" + }, + { + "key": "Pacific/Galapagos", + "value": "Pacific/Galapagos" + }, + { + "key": "Europe/Tallinn", + "value": "Europe/Tallinn" + }, + { + "key": "Africa/Cairo", + "value": "Africa/Cairo" + }, + { + "key": "Africa/El_Aaiun", + "value": "Africa/El_Aaiun" + }, + { + "key": "Africa/Asmara", + "value": "Africa/Asmara" + }, + { + "key": "Europe/Madrid", + "value": "Europe/Madrid" + }, + { + "key": "Africa/Ceuta", + "value": "Africa/Ceuta" + }, + { + "key": "Atlantic/Canary", + "value": "Atlantic/Canary" + }, + { + "key": "Africa/Addis_Ababa", + "value": "Africa/Addis_Ababa" + }, + { + "key": "Europe/Helsinki", + "value": "Europe/Helsinki" + }, + { + "key": "Pacific/Fiji", + "value": "Pacific/Fiji" + }, + { + "key": "Atlantic/Stanley", + "value": "Atlantic/Stanley" + }, + { + "key": "Pacific/Chuuk", + "value": "Pacific/Chuuk" + }, + { + "key": "Pacific/Pohnpei", + "value": "Pacific/Pohnpei" + }, + { + "key": "Pacific/Kosrae", + "value": "Pacific/Kosrae" + }, + { + "key": "Atlantic/Faroe", + "value": "Atlantic/Faroe" + }, + { + "key": "Europe/Paris", + "value": "Europe/Paris" + }, + { + "key": "Africa/Libreville", + "value": "Africa/Libreville" + }, + { + "key": "Europe/London", + "value": "Europe/London" + }, + { + "key": "America/Grenada", + "value": "America/Grenada" + }, + { + "key": "Asia/Tbilisi", + "value": "Asia/Tbilisi" + }, + { + "key": "America/Cayenne", + "value": "America/Cayenne" + }, + { + "key": "Europe/Guernsey", + "value": "Europe/Guernsey" + }, + { + "key": "Africa/Accra", + "value": "Africa/Accra" + }, + { + "key": "Europe/Gibraltar", + "value": "Europe/Gibraltar" + }, + { + "key": "America/Godthab", + "value": "America/Godthab" + }, + { + "key": "America/Danmarkshavn", + "value": "America/Danmarkshavn" + }, + { + "key": "America/Scoresbysund", + "value": "America/Scoresbysund" + }, + { + "key": "America/Thule", + "value": "America/Thule" + }, + { + "key": "Africa/Banjul", + "value": "Africa/Banjul" + }, + { + "key": "Africa/Conakry", + "value": "Africa/Conakry" + }, + { + "key": "America/Guadeloupe", + "value": "America/Guadeloupe" + }, + { + "key": "Africa/Malabo", + "value": "Africa/Malabo" + }, + { + "key": "Europe/Athens", + "value": "Europe/Athens" + }, + { + "key": "Atlantic/South_Georgia", + "value": "Atlantic/South_Georgia" + }, + { + "key": "America/Guatemala", + "value": "America/Guatemala" + }, + { + "key": "Pacific/Guam", + "value": "Pacific/Guam" + }, + { + "key": "Africa/Bissau", + "value": "Africa/Bissau" + }, + { + "key": "America/Guyana", + "value": "America/Guyana" + }, + { + "key": "Asia/Hong_Kong", + "value": "Asia/Hong_Kong" + }, + { + "key": "America/Tegucigalpa", + "value": "America/Tegucigalpa" + }, + { + "key": "Europe/Zagreb", + "value": "Europe/Zagreb" + }, + { + "key": "America/Port-au-Prince", + "value": "America/Port-au-Prince" + }, + { + "key": "Europe/Budapest", + "value": "Europe/Budapest" + }, + { + "key": "Asia/Jakarta", + "value": "Asia/Jakarta" + }, + { + "key": "Asia/Pontianak", + "value": "Asia/Pontianak" + }, + { + "key": "Asia/Makassar", + "value": "Asia/Makassar" + }, + { + "key": "Asia/Jayapura", + "value": "Asia/Jayapura" + }, + { + "key": "Europe/Dublin", + "value": "Europe/Dublin" + }, + { + "key": "Asia/Jerusalem", + "value": "Asia/Jerusalem" + }, + { + "key": "Europe/Isle_of_Man", + "value": "Europe/Isle_of_Man" + }, + { + "key": "Asia/Kolkata", + "value": "Asia/Kolkata" + }, + { + "key": "Indian/Chagos", + "value": "Indian/Chagos" + }, + { + "key": "Asia/Baghdad", + "value": "Asia/Baghdad" + }, + { + "key": "Asia/Tehran", + "value": "Asia/Tehran" + }, + { + "key": "Atlantic/Reykjavik", + "value": "Atlantic/Reykjavik" + }, + { + "key": "Europe/Rome", + "value": "Europe/Rome" + }, + { + "key": "Europe/Jersey", + "value": "Europe/Jersey" + }, + { + "key": "America/Jamaica", + "value": "America/Jamaica" + }, + { + "key": "Asia/Amman", + "value": "Asia/Amman" + }, + { + "key": "Asia/Tokyo", + "value": "Asia/Tokyo" + }, + { + "key": "Africa/Nairobi", + "value": "Africa/Nairobi" + }, + { + "key": "Asia/Bishkek", + "value": "Asia/Bishkek" + }, + { + "key": "Asia/Phnom_Penh", + "value": "Asia/Phnom_Penh" + }, + { + "key": "Pacific/Tarawa", + "value": "Pacific/Tarawa" + }, + { + "key": "Pacific/Enderbury", + "value": "Pacific/Enderbury" + }, + { + "key": "Pacific/Kiritimati", + "value": "Pacific/Kiritimati" + }, + { + "key": "Indian/Comoro", + "value": "Indian/Comoro" + }, + { + "key": "America/St_Kitts", + "value": "America/St_Kitts" + }, + { + "key": "Asia/Pyongyang", + "value": "Asia/Pyongyang" + }, + { + "key": "Asia/Seoul", + "value": "Asia/Seoul" + }, + { + "key": "Asia/Kuwait", + "value": "Asia/Kuwait" + }, + { + "key": "America/Cayman", + "value": "America/Cayman" + }, + { + "key": "Asia/Almaty", + "value": "Asia/Almaty" + }, + { + "key": "Asia/Qyzylorda", + "value": "Asia/Qyzylorda" + }, + { + "key": "Asia/Aqtobe", + "value": "Asia/Aqtobe" + }, + { + "key": "Asia/Aqtau", + "value": "Asia/Aqtau" + }, + { + "key": "Asia/Oral", + "value": "Asia/Oral" + }, + { + "key": "Asia/Vientiane", + "value": "Asia/Vientiane" + }, + { + "key": "Asia/Beirut", + "value": "Asia/Beirut" + }, + { + "key": "America/St_Lucia", + "value": "America/St_Lucia" + }, + { + "key": "Europe/Vaduz", + "value": "Europe/Vaduz" + }, + { + "key": "Asia/Colombo", + "value": "Asia/Colombo" + }, + { + "key": "Africa/Monrovia", + "value": "Africa/Monrovia" + }, + { + "key": "Africa/Maseru", + "value": "Africa/Maseru" + }, + { + "key": "Europe/Vilnius", + "value": "Europe/Vilnius" + }, + { + "key": "Europe/Luxembourg", + "value": "Europe/Luxembourg" + }, + { + "key": "Europe/Riga", + "value": "Europe/Riga" + }, + { + "key": "Africa/Tripoli", + "value": "Africa/Tripoli" + }, + { + "key": "Africa/Casablanca", + "value": "Africa/Casablanca" + }, + { + "key": "Europe/Monaco", + "value": "Europe/Monaco" + }, + { + "key": "Europe/Chisinau", + "value": "Europe/Chisinau" + }, + { + "key": "Europe/Podgorica", + "value": "Europe/Podgorica" + }, + { + "key": "America/Marigot", + "value": "America/Marigot" + }, + { + "key": "Indian/Antananarivo", + "value": "Indian/Antananarivo" + }, + { + "key": "Pacific/Majuro", + "value": "Pacific/Majuro" + }, + { + "key": "Pacific/Kwajalein", + "value": "Pacific/Kwajalein" + }, + { + "key": "Europe/Skopje", + "value": "Europe/Skopje" + }, + { + "key": "Africa/Bamako", + "value": "Africa/Bamako" + }, + { + "key": "Asia/Rangoon", + "value": "Asia/Rangoon" + }, + { + "key": "Asia/Ulaanbaatar", + "value": "Asia/Ulaanbaatar" + }, + { + "key": "Asia/Hovd", + "value": "Asia/Hovd" + }, + { + "key": "Asia/Choibalsan", + "value": "Asia/Choibalsan" + }, + { + "key": "Asia/Macau", + "value": "Asia/Macau" + }, + { + "key": "Pacific/Saipan", + "value": "Pacific/Saipan" + }, + { + "key": "America/Martinique", + "value": "America/Martinique" + }, + { + "key": "Africa/Nouakchott", + "value": "Africa/Nouakchott" + }, + { + "key": "America/Montserrat", + "value": "America/Montserrat" + }, + { + "key": "Europe/Malta", + "value": "Europe/Malta" + }, + { + "key": "Indian/Mauritius", + "value": "Indian/Mauritius" + }, + { + "key": "Indian/Maldives", + "value": "Indian/Maldives" + }, + { + "key": "Africa/Blantyre", + "value": "Africa/Blantyre" + }, + { + "key": "America/Mexico_City", + "value": "America/Mexico_City" + }, + { + "key": "America/Cancun", + "value": "America/Cancun" + }, + { + "key": "America/Merida", + "value": "America/Merida" + }, + { + "key": "America/Monterrey", + "value": "America/Monterrey" + }, + { + "key": "America/Matamoros", + "value": "America/Matamoros" + }, + { + "key": "America/Mazatlan", + "value": "America/Mazatlan" + }, + { + "key": "America/Chihuahua", + "value": "America/Chihuahua" + }, + { + "key": "America/Ojinaga", + "value": "America/Ojinaga" + }, + { + "key": "America/Hermosillo", + "value": "America/Hermosillo" + }, + { + "key": "America/Tijuana", + "value": "America/Tijuana" + }, + { + "key": "America/Santa_Isabel", + "value": "America/Santa_Isabel" + }, + { + "key": "America/Bahia_Banderas", + "value": "America/Bahia_Banderas" + }, + { + "key": "Asia/Kuala_Lumpur", + "value": "Asia/Kuala_Lumpur" + }, + { + "key": "Asia/Kuching", + "value": "Asia/Kuching" + }, + { + "key": "Africa/Maputo", + "value": "Africa/Maputo" + }, + { + "key": "Africa/Windhoek", + "value": "Africa/Windhoek" + }, + { + "key": "Pacific/Noumea", + "value": "Pacific/Noumea" + }, + { + "key": "Africa/Niamey", + "value": "Africa/Niamey" + }, + { + "key": "Pacific/Norfolk", + "value": "Pacific/Norfolk" + }, + { + "key": "Africa/Lagos", + "value": "Africa/Lagos" + }, + { + "key": "America/Managua", + "value": "America/Managua" + }, + { + "key": "Europe/Amsterdam", + "value": "Europe/Amsterdam" + }, + { + "key": "Europe/Oslo", + "value": "Europe/Oslo" + }, + { + "key": "Asia/Kathmandu", + "value": "Asia/Kathmandu" + }, + { + "key": "Pacific/Nauru", + "value": "Pacific/Nauru" + }, + { + "key": "Pacific/Niue", + "value": "Pacific/Niue" + }, + { + "key": "Pacific/Auckland", + "value": "Pacific/Auckland" + }, + { + "key": "Pacific/Chatham", + "value": "Pacific/Chatham" + }, + { + "key": "Asia/Muscat", + "value": "Asia/Muscat" + }, + { + "key": "America/Panama", + "value": "America/Panama" + }, + { + "key": "America/Lima", + "value": "America/Lima" + }, + { + "key": "Pacific/Tahiti", + "value": "Pacific/Tahiti" + }, + { + "key": "Pacific/Marquesas", + "value": "Pacific/Marquesas" + }, + { + "key": "Pacific/Gambier", + "value": "Pacific/Gambier" + }, + { + "key": "Pacific/Port_Moresby", + "value": "Pacific/Port_Moresby" + }, + { + "key": "Asia/Manila", + "value": "Asia/Manila" + }, + { + "key": "Asia/Karachi", + "value": "Asia/Karachi" + }, + { + "key": "Europe/Warsaw", + "value": "Europe/Warsaw" + }, + { + "key": "America/Miquelon", + "value": "America/Miquelon" + }, + { + "key": "Pacific/Pitcairn", + "value": "Pacific/Pitcairn" + }, + { + "key": "America/Puerto_Rico", + "value": "America/Puerto_Rico" + }, + { + "key": "Asia/Gaza", + "value": "Asia/Gaza" + }, + { + "key": "Asia/Hebron", + "value": "Asia/Hebron" + }, + { + "key": "Europe/Lisbon", + "value": "Europe/Lisbon" + }, + { + "key": "Atlantic/Madeira", + "value": "Atlantic/Madeira" + }, + { + "key": "Atlantic/Azores", + "value": "Atlantic/Azores" + }, + { + "key": "Pacific/Palau", + "value": "Pacific/Palau" + }, + { + "key": "America/Asuncion", + "value": "America/Asuncion" + }, + { + "key": "Asia/Qatar", + "value": "Asia/Qatar" + }, + { + "key": "Indian/Reunion", + "value": "Indian/Reunion" + }, + { + "key": "Europe/Bucharest", + "value": "Europe/Bucharest" + }, + { + "key": "Europe/Belgrade", + "value": "Europe/Belgrade" + }, + { + "key": "Europe/Kaliningrad", + "value": "Europe/Kaliningrad" + }, + { + "key": "Europe/Moscow", + "value": "Europe/Moscow" + }, + { + "key": "Europe/Volgograd", + "value": "Europe/Volgograd" + }, + { + "key": "Europe/Samara", + "value": "Europe/Samara" + }, + { + "key": "Asia/Yekaterinburg", + "value": "Asia/Yekaterinburg" + }, + { + "key": "Asia/Omsk", + "value": "Asia/Omsk" + }, + { + "key": "Asia/Novosibirsk", + "value": "Asia/Novosibirsk" + }, + { + "key": "Asia/Novokuznetsk", + "value": "Asia/Novokuznetsk" + }, + { + "key": "Asia/Krasnoyarsk", + "value": "Asia/Krasnoyarsk" + }, + { + "key": "Asia/Irkutsk", + "value": "Asia/Irkutsk" + }, + { + "key": "Asia/Yakutsk", + "value": "Asia/Yakutsk" + }, + { + "key": "Asia/Khandyga", + "value": "Asia/Khandyga" + }, + { + "key": "Asia/Vladivostok", + "value": "Asia/Vladivostok" + }, + { + "key": "Asia/Sakhalin", + "value": "Asia/Sakhalin" + }, + { + "key": "Asia/Ust-Nera", + "value": "Asia/Ust-Nera" + }, + { + "key": "Asia/Magadan", + "value": "Asia/Magadan" + }, + { + "key": "Asia/Kamchatka", + "value": "Asia/Kamchatka" + }, + { + "key": "Asia/Anadyr", + "value": "Asia/Anadyr" + }, + { + "key": "Africa/Kigali", + "value": "Africa/Kigali" + }, + { + "key": "Asia/Riyadh", + "value": "Asia/Riyadh" + }, + { + "key": "Pacific/Guadalcanal", + "value": "Pacific/Guadalcanal" + }, + { + "key": "Indian/Mahe", + "value": "Indian/Mahe" + }, + { + "key": "Africa/Khartoum", + "value": "Africa/Khartoum" + }, + { + "key": "Europe/Stockholm", + "value": "Europe/Stockholm" + }, + { + "key": "Asia/Singapore", + "value": "Asia/Singapore" + }, + { + "key": "Atlantic/St_Helena", + "value": "Atlantic/St_Helena" + }, + { + "key": "Europe/Ljubljana", + "value": "Europe/Ljubljana" + }, + { + "key": "Arctic/Longyearbyen", + "value": "Arctic/Longyearbyen" + }, + { + "key": "Europe/Bratislava", + "value": "Europe/Bratislava" + }, + { + "key": "Africa/Freetown", + "value": "Africa/Freetown" + }, + { + "key": "Europe/San_Marino", + "value": "Europe/San_Marino" + }, + { + "key": "Africa/Dakar", + "value": "Africa/Dakar" + }, + { + "key": "Africa/Mogadishu", + "value": "Africa/Mogadishu" + }, + { + "key": "America/Paramaribo", + "value": "America/Paramaribo" + }, + { + "key": "Africa/Juba", + "value": "Africa/Juba" + }, + { + "key": "Africa/Sao_Tome", + "value": "Africa/Sao_Tome" + }, + { + "key": "America/El_Salvador", + "value": "America/El_Salvador" + }, + { + "key": "America/Lower_Princes", + "value": "America/Lower_Princes" + }, + { + "key": "Asia/Damascus", + "value": "Asia/Damascus" + }, + { + "key": "Africa/Mbabane", + "value": "Africa/Mbabane" + }, + { + "key": "America/Grand_Turk", + "value": "America/Grand_Turk" + }, + { + "key": "Africa/Ndjamena", + "value": "Africa/Ndjamena" + }, + { + "key": "Indian/Kerguelen", + "value": "Indian/Kerguelen" + }, + { + "key": "Africa/Lome", + "value": "Africa/Lome" + }, + { + "key": "Asia/Bangkok", + "value": "Asia/Bangkok" + }, + { + "key": "Asia/Dushanbe", + "value": "Asia/Dushanbe" + }, + { + "key": "Pacific/Fakaofo", + "value": "Pacific/Fakaofo" + }, + { + "key": "Asia/Dili", + "value": "Asia/Dili" + }, + { + "key": "Asia/Ashgabat", + "value": "Asia/Ashgabat" + }, + { + "key": "Africa/Tunis", + "value": "Africa/Tunis" + }, + { + "key": "Pacific/Tongatapu", + "value": "Pacific/Tongatapu" + }, + { + "key": "Europe/Istanbul", + "value": "Europe/Istanbul" + }, + { + "key": "America/Port_of_Spain", + "value": "America/Port_of_Spain" + }, + { + "key": "Pacific/Funafuti", + "value": "Pacific/Funafuti" + }, + { + "key": "Asia/Taipei", + "value": "Asia/Taipei" + }, + { + "key": "Africa/Dar_es_Salaam", + "value": "Africa/Dar_es_Salaam" + }, + { + "key": "Europe/Kiev", + "value": "Europe/Kiev" + }, + { + "key": "Europe/Uzhgorod", + "value": "Europe/Uzhgorod" + }, + { + "key": "Europe/Zaporozhye", + "value": "Europe/Zaporozhye" + }, + { + "key": "Europe/Simferopol", + "value": "Europe/Simferopol" + }, + { + "key": "Africa/Kampala", + "value": "Africa/Kampala" + }, + { + "key": "Pacific/Johnston", + "value": "Pacific/Johnston" + }, + { + "key": "Pacific/Midway", + "value": "Pacific/Midway" + }, + { + "key": "Pacific/Wake", + "value": "Pacific/Wake" + }, + { + "key": "America/New_York", + "value": "America/New_York" + }, + { + "key": "America/Detroit", + "value": "America/Detroit" + }, + { + "key": "America/Kentucky/Louisville", + "value": "America/Kentucky/Louisville" + }, + { + "key": "America/Kentucky/Monticello", + "value": "America/Kentucky/Monticello" + }, + { + "key": "America/Indiana/Indianapolis", + "value": "America/Indiana/Indianapolis" + }, + { + "key": "America/Indiana/Vincennes", + "value": "America/Indiana/Vincennes" + }, + { + "key": "America/Indiana/Winamac", + "value": "America/Indiana/Winamac" + }, + { + "key": "America/Indiana/Marengo", + "value": "America/Indiana/Marengo" + }, + { + "key": "America/Indiana/Petersburg", + "value": "America/Indiana/Petersburg" + }, + { + "key": "America/Indiana/Vevay", + "value": "America/Indiana/Vevay" + }, + { + "key": "America/Chicago", + "value": "America/Chicago" + }, + { + "key": "America/Indiana/Tell_City", + "value": "America/Indiana/Tell_City" + }, + { + "key": "America/Indiana/Knox", + "value": "America/Indiana/Knox" + }, + { + "key": "America/Menominee", + "value": "America/Menominee" + }, + { + "key": "America/North_Dakota/Center", + "value": "America/North_Dakota/Center" + }, + { + "key": "America/North_Dakota/New_Salem", + "value": "America/North_Dakota/New_Salem" + }, + { + "key": "America/North_Dakota/Beulah", + "value": "America/North_Dakota/Beulah" + }, + { + "key": "America/Denver", + "value": "America/Denver" + }, + { + "key": "America/Boise", + "value": "America/Boise" + }, + { + "key": "America/Phoenix", + "value": "America/Phoenix" + }, + { + "key": "America/Los_Angeles", + "value": "America/Los_Angeles" + }, + { + "key": "America/Anchorage", + "value": "America/Anchorage" + }, + { + "key": "America/Juneau", + "value": "America/Juneau" + }, + { + "key": "America/Sitka", + "value": "America/Sitka" + }, + { + "key": "America/Yakutat", + "value": "America/Yakutat" + }, + { + "key": "America/Nome", + "value": "America/Nome" + }, + { + "key": "America/Adak", + "value": "America/Adak" + }, + { + "key": "America/Metlakatla", + "value": "America/Metlakatla" + }, + { + "key": "Pacific/Honolulu", + "value": "Pacific/Honolulu" + }, + { + "key": "America/Montevideo", + "value": "America/Montevideo" + }, + { + "key": "Asia/Samarkand", + "value": "Asia/Samarkand" + }, + { + "key": "Asia/Tashkent", + "value": "Asia/Tashkent" + }, + { + "key": "Europe/Vatican", + "value": "Europe/Vatican" + }, + { + "key": "America/St_Vincent", + "value": "America/St_Vincent" + }, + { + "key": "America/Caracas", + "value": "America/Caracas" + }, + { + "key": "America/Tortola", + "value": "America/Tortola" + }, + { + "key": "America/St_Thomas", + "value": "America/St_Thomas" + }, + { + "key": "Asia/Ho_Chi_Minh", + "value": "Asia/Ho_Chi_Minh" + }, + { + "key": "Pacific/Efate", + "value": "Pacific/Efate" + }, + { + "key": "Pacific/Wallis", + "value": "Pacific/Wallis" + }, + { + "key": "Pacific/Apia", + "value": "Pacific/Apia" + }, + { + "key": "Asia/Aden", + "value": "Asia/Aden" + }, + { + "key": "Indian/Mayotte", + "value": "Indian/Mayotte" + }, + { + "key": "Africa/Johannesburg", + "value": "Africa/Johannesburg" + }, + { + "key": "Africa/Lusaka", + "value": "Africa/Lusaka" + }, + { + "key": "Africa/Harare", + "value": "Africa/Harare" + }, + { + "key": "UTC", + "value": "UTC" + } + ] + }, + "defaultOption": "ignore", + "description": "Timezone", + "details": "Set the timezone", + "key": "timezone", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "variable", + "description": "Hostname", + "details": "Set the hostname", + "key": "host-name", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set a text description of the device", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Location", + "details": "Set the location of the device", + "key": "location", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1024, + "max": 2000, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "MTU of DTLS Tunnel", + "details": "Set MTU of system\u2019s internal DTLS tunnel", + "key": "system-tunnel-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location" + ], + "dataType": { + "max": 90, + "min": -90, + "type": "float" + }, + "defaultOption": "ignore", + "description": "Latitude", + "details": "Set the device\u2019s physical latitude", + "key": "latitude", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location" + ], + "dataType": { + "max": 180, + "min": -180, + "type": "float" + }, + "defaultOption": "ignore", + "description": "Longitude", + "details": "Set the device\u2019s physical longitude", + "key": "longitude", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Device Groups", + "details": "Device groups (Use comma(,) for multiple groups)", + "key": "device-groups", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Controller Groups", + "details": "Configure a list of comma-separated device groups", + "key": "controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Eco Friendly Mode", + "details": "Have vEdge Cloud router run in eco-friendly mode", + "key": "eco-friendly-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "variable", + "description": "System IP", + "details": "Set the system IP address", + "key": "system-ip", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Overlay ID", + "details": "Set the Overlay ID", + "key": "overlay-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "Site ID", + "details": "Set the site identifier", + "key": "site-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 19, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Port Offset", + "details": "Set the TLOC port offset when multiple devices are behind a NAT", + "key": "port-offset", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hopping", + "details": "Enable port hopping", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Control Session Policer Rate (pps)", + "details": "Set the policer rate for control sessions", + "key": "control-session-pps", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track Transport", + "details": "Configure tracking of transport", + "key": "track-transport", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Track Interface", + "details": "OMP Tag attached to routes based on interface tracking", + "key": "track-interface-tag", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timer" + ], + "dataType": { + "default": 2, + "max": 30, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DNS Cache Timeout (minutes)", + "details": "Set when to time out vBond addresses cached by device", + "key": "dns-cache-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "1200", + "value": "1200" + }, + { + "key": "2400", + "value": "2400" + }, + { + "key": "4800", + "value": "4800" + }, + { + "key": "9600", + "value": "9600" + }, + { + "key": "19200", + "value": "19200" + }, + { + "key": "38400", + "value": "38400" + }, + { + "key": "57600", + "value": "57600" + }, + { + "key": "115200", + "value": "115200" + } + ] + }, + "defaultOption": "constant", + "description": "Console Baud Rate (bps)", + "details": "Set the console baud rate", + "key": "console-baud-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum OMP Sessions", + "details": "Set the maximum number of OMP sessions <1..100> the device can have", + "key": "max-omp-sessions", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "vbond" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Local vBond", + "details": "Mark the local device as a vBond", + "key": "local", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "vbond" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "variable", + "description": "vBond IP", + "details": "Set the vBond IP address", + "key": "remote", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [ + "vbond" + ], + "dataType": { + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Vbond Only", + "details": "Device is a standalone vBond", + "key": "vbond-only", + "objectStatus": "deprecated", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "USB Controller", + "details": "Enable or disable the external USB controller on the device", + "key": "usb-controller", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Dedicated Core for TCP Optimization", + "details": "Carve out a dedicated core to use for TCP optimization", + "deviceModels": [ + "vedge-1000", + "vedge-ISR1100-4G", + "vedge-ISR1100-4GLTE", + "vedge-ISR1100-6G", + "vedge-ISR1100X-6G", + "vedge-2000", + "vedge-ISR1100-6G-XE", + "vedge-ISR1100X-6G-XE" + ], + "key": "tcp-optimization-enabled", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Gateway Tracking", + "details": "Enable or disable default gateway tracking", + "key": "track-default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 20, + "max": 100, + "min": 5, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multicast Buffer (%)", + "details": "Percentage(5-100) of buffer multicast packets can consume", + "key": "multicast-buffer-percent", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 20000, + "max": 25000, + "min": 1000, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Host Policer Rate (pps)", + "details": "Set rate(1000-25000) at which to police packets bound to the control plane, per QoS level", + "key": "host-policer-pps", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 200, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ICMP Error Rate (pps)", + "details": "Set rate at which to police generated or received ICMP error messages", + "key": "icmp-error-pps", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Allow Same-Site Tunnel", + "details": "Allow tunnels to be formed between vEdges in the same site", + "key": "allow-same-site-tunnels", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Collect Admin Tech on Reboot", + "details": "Collect admin-tech before reboot due to daemon failure", + "key": "admin-tech-on-failure", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Route Consistency Check", + "details": "Enable route consistency check", + "key": "route-consistency-check", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 300, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Idle Timeout", + "details": "Idle CLI timeout in minutes", + "key": "idle-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "region", + "region-id" + ], + "dataType": { + "max": 63, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Region ID", + "details": "Set region ID for vedge", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "region", + "region-id" + ], + "dataType": { + "max": 63, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Secondary Region ID", + "details": "Set secondary region ID for vedge", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "edge-router", + "value": "Edge Router" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Set the role for router", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "multi-region-fabric" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "enabled", + "value": "Enable" + }, + { + "key": "enabled-from-bgp-core", + "value": "Enable from BGP Core" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Migration Mode to Multi-Region Fabric", + "details": "Enable migration mode to Multi-Region Fabric", + "key": "migration-mode", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "affinity-group" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Affinity Group Number", + "details": "Set the affinity group number for router", + "key": "affinity-group-number", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "affinity-group" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Affinity Group Preference", + "details": "Set the affinity group preference", + "key": "preference", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name", + "details": "Tracker name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Endpoint IP", + "details": "IP address of endpoint", + "key": "endpoint-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "endpoint-ip-transport-port" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Endpoint IP", + "details": "IP address of endpoint", + "key": "endpoint-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "endpoint-ip-transport-port" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "transport protocol: TCP/UDP", + "details": "transport protocol: TCP/UDP", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "endpoint-ip-transport-port" + ], + "dataType": { + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Endpoint port", + "details": "TCP/UDP port pf endpoint", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 63, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "Endpoint DNS Name", + "details": "DNS name of endpoint", + "key": "endpoint-dns-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 512, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "API url of endpoint", + "details": "API url of endpoint", + "deviceModels": [ + "vedge", + "vedge-cloud", + "vedge-100", + "vedge-ISR1100-4GLTE", + "vedge-ISR1100-4GLTENA-XE", + "vedge-ISR1100-4GLTEGB-XE", + "vedge-1000", + "vedge-ISR1100-6G", + "vedge-ISR1100X-6G", + "vedge-ISR1100-6G-XE", + "vedge-ISR1100X-6G-XE", + "vedge-2000", + "vedge-5000", + "vedge-100-B", + "vedge-100-M", + "vedge-100-M2", + "vedge-100-W2", + "vedge-100-WM", + "vedge-ISR1100-4G", + "vedge-ISR1100X-4G", + "vedge-ISR1100-4G-XE", + "vedge-ISR1100X-4G-XE" + ], + "key": "endpoint-api-url", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 1000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Threshold", + "details": "Probe Timeout threshold <100..1000> milliseconds", + "key": "threshold", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 60, + "max": 600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "Probe interval <10..600> seconds", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 3, + "max": 10, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Multiplier", + "details": "Probe failure multiplier <1..10> failed attempts", + "key": "multiplier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 257, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tracker Elements", + "details": "Tracker member names separated by space", + "key": "tracker-elements", + "maxElements": 2, + "minElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "or", + "type": "enum", + "values": [ + { + "key": "or", + "value": "or" + }, + { + "key": "and", + "value": "and" + } + ] + }, + "defaultOption": "ignore", + "description": "Tracker Boolean", + "details": "Type of grouping to be performed for tracker group", + "key": "boolean", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "interface", + "type": "enum", + "values": [ + { + "key": "interface", + "value": "interface" + }, + { + "key": "static-route", + "value": "static-route" + }, + { + "key": "tracker-group", + "value": "tracker-group" + } + ] + }, + "defaultOption": "ignore", + "description": "Tracker Type", + "details": "Default(Interface)", + "key": "tracker-type", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Tracker", + "details": "Tracker configuration", + "key": "tracker", + "maxElements": 32, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [ + "on-demand" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "On-demand Tunnel", + "details": "Enable or disable On-demand Tunnel", + "key": "enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "on-demand" + ], + "dataType": { + "default": 10, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "On-demand Tunnel Idle Timeout(min)", + "details": "Set the idle timeout for on-demand tunnels", + "key": "idle-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tracker List", + "details": "Track List name", + "key": "list-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 257, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface", + "details": "interface Track names separated by space", + "key": "interface", + "maxElements": 4, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "global", + "value": "global" + } + ] + }, + "defaultOption": "constant", + "description": "SIG", + "details": "sig container track", + "key": "sig-container", + "maxElements": 1, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Track list", + "details": "Object Track (interface/sig) configuration", + "key": "track-list", + "maxElements": 8, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "list-name" + ] + } + ], + "name": "System", + "nameSpace": "http://viptela.com/system", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/system-vsmart.json b/gen/models/feature_templates/system-vsmart.json new file mode 100644 index 00000000..f7a003e9 --- /dev/null +++ b/gen/models/feature_templates/system-vsmart.json @@ -0,0 +1,2070 @@ +{ + "fields": [ + { + "dataPath": [ + "clock" + ], + "dataType": { + "default": "UTC", + "type": "enum", + "values": [ + { + "key": "Europe/Andorra", + "value": "Europe/Andorra" + }, + { + "key": "Asia/Dubai", + "value": "Asia/Dubai" + }, + { + "key": "Asia/Kabul", + "value": "Asia/Kabul" + }, + { + "key": "America/Antigua", + "value": "America/Antigua" + }, + { + "key": "America/Anguilla", + "value": "America/Anguilla" + }, + { + "key": "Europe/Tirane", + "value": "Europe/Tirane" + }, + { + "key": "Asia/Yerevan", + "value": "Asia/Yerevan" + }, + { + "key": "Africa/Luanda", + "value": "Africa/Luanda" + }, + { + "key": "Antarctica/McMurdo", + "value": "Antarctica/McMurdo" + }, + { + "key": "Antarctica/Rothera", + "value": "Antarctica/Rothera" + }, + { + "key": "Antarctica/Palmer", + "value": "Antarctica/Palmer" + }, + { + "key": "Antarctica/Mawson", + "value": "Antarctica/Mawson" + }, + { + "key": "Antarctica/Davis", + "value": "Antarctica/Davis" + }, + { + "key": "Antarctica/Casey", + "value": "Antarctica/Casey" + }, + { + "key": "Antarctica/Vostok", + "value": "Antarctica/Vostok" + }, + { + "key": "Antarctica/DumontDUrville", + "value": "Antarctica/DumontDUrville" + }, + { + "key": "Antarctica/Syowa", + "value": "Antarctica/Syowa" + }, + { + "key": "America/Argentina/Buenos_Aires", + "value": "America/Argentina/Buenos_Aires" + }, + { + "key": "America/Argentina/Cordoba", + "value": "America/Argentina/Cordoba" + }, + { + "key": "America/Argentina/Salta", + "value": "America/Argentina/Salta" + }, + { + "key": "America/Argentina/Jujuy", + "value": "America/Argentina/Jujuy" + }, + { + "key": "America/Argentina/Tucuman", + "value": "America/Argentina/Tucuman" + }, + { + "key": "America/Argentina/Catamarca", + "value": "America/Argentina/Catamarca" + }, + { + "key": "America/Argentina/La_Rioja", + "value": "America/Argentina/La_Rioja" + }, + { + "key": "America/Argentina/San_Juan", + "value": "America/Argentina/San_Juan" + }, + { + "key": "America/Argentina/Mendoza", + "value": "America/Argentina/Mendoza" + }, + { + "key": "America/Argentina/San_Luis", + "value": "America/Argentina/San_Luis" + }, + { + "key": "America/Argentina/Rio_Gallegos", + "value": "America/Argentina/Rio_Gallegos" + }, + { + "key": "America/Argentina/Ushuaia", + "value": "America/Argentina/Ushuaia" + }, + { + "key": "Pacific/Pago_Pago", + "value": "Pacific/Pago_Pago" + }, + { + "key": "Europe/Vienna", + "value": "Europe/Vienna" + }, + { + "key": "Australia/Lord_Howe", + "value": "Australia/Lord_Howe" + }, + { + "key": "Antarctica/Macquarie", + "value": "Antarctica/Macquarie" + }, + { + "key": "Australia/Hobart", + "value": "Australia/Hobart" + }, + { + "key": "Australia/Currie", + "value": "Australia/Currie" + }, + { + "key": "Australia/Melbourne", + "value": "Australia/Melbourne" + }, + { + "key": "Australia/Sydney", + "value": "Australia/Sydney" + }, + { + "key": "Australia/Broken_Hill", + "value": "Australia/Broken_Hill" + }, + { + "key": "Australia/Brisbane", + "value": "Australia/Brisbane" + }, + { + "key": "Australia/Lindeman", + "value": "Australia/Lindeman" + }, + { + "key": "Australia/Adelaide", + "value": "Australia/Adelaide" + }, + { + "key": "Australia/Darwin", + "value": "Australia/Darwin" + }, + { + "key": "Australia/Perth", + "value": "Australia/Perth" + }, + { + "key": "Australia/Eucla", + "value": "Australia/Eucla" + }, + { + "key": "America/Aruba", + "value": "America/Aruba" + }, + { + "key": "Europe/Mariehamn", + "value": "Europe/Mariehamn" + }, + { + "key": "Asia/Baku", + "value": "Asia/Baku" + }, + { + "key": "Europe/Sarajevo", + "value": "Europe/Sarajevo" + }, + { + "key": "America/Barbados", + "value": "America/Barbados" + }, + { + "key": "Asia/Dhaka", + "value": "Asia/Dhaka" + }, + { + "key": "Europe/Brussels", + "value": "Europe/Brussels" + }, + { + "key": "Africa/Ouagadougou", + "value": "Africa/Ouagadougou" + }, + { + "key": "Europe/Sofia", + "value": "Europe/Sofia" + }, + { + "key": "Asia/Bahrain", + "value": "Asia/Bahrain" + }, + { + "key": "Africa/Bujumbura", + "value": "Africa/Bujumbura" + }, + { + "key": "Africa/Porto-Novo", + "value": "Africa/Porto-Novo" + }, + { + "key": "America/St_Barthelemy", + "value": "America/St_Barthelemy" + }, + { + "key": "Atlantic/Bermuda", + "value": "Atlantic/Bermuda" + }, + { + "key": "Asia/Brunei", + "value": "Asia/Brunei" + }, + { + "key": "America/La_Paz", + "value": "America/La_Paz" + }, + { + "key": "America/Kralendijk", + "value": "America/Kralendijk" + }, + { + "key": "America/Noronha", + "value": "America/Noronha" + }, + { + "key": "America/Belem", + "value": "America/Belem" + }, + { + "key": "America/Fortaleza", + "value": "America/Fortaleza" + }, + { + "key": "America/Recife", + "value": "America/Recife" + }, + { + "key": "America/Araguaina", + "value": "America/Araguaina" + }, + { + "key": "America/Maceio", + "value": "America/Maceio" + }, + { + "key": "America/Bahia", + "value": "America/Bahia" + }, + { + "key": "America/Sao_Paulo", + "value": "America/Sao_Paulo" + }, + { + "key": "America/Campo_Grande", + "value": "America/Campo_Grande" + }, + { + "key": "America/Cuiaba", + "value": "America/Cuiaba" + }, + { + "key": "America/Santarem", + "value": "America/Santarem" + }, + { + "key": "America/Porto_Velho", + "value": "America/Porto_Velho" + }, + { + "key": "America/Boa_Vista", + "value": "America/Boa_Vista" + }, + { + "key": "America/Manaus", + "value": "America/Manaus" + }, + { + "key": "America/Eirunepe", + "value": "America/Eirunepe" + }, + { + "key": "America/Rio_Branco", + "value": "America/Rio_Branco" + }, + { + "key": "America/Nassau", + "value": "America/Nassau" + }, + { + "key": "Asia/Thimphu", + "value": "Asia/Thimphu" + }, + { + "key": "Africa/Gaborone", + "value": "Africa/Gaborone" + }, + { + "key": "Europe/Minsk", + "value": "Europe/Minsk" + }, + { + "key": "America/Belize", + "value": "America/Belize" + }, + { + "key": "America/St_Johns", + "value": "America/St_Johns" + }, + { + "key": "America/Halifax", + "value": "America/Halifax" + }, + { + "key": "America/Glace_Bay", + "value": "America/Glace_Bay" + }, + { + "key": "America/Moncton", + "value": "America/Moncton" + }, + { + "key": "America/Goose_Bay", + "value": "America/Goose_Bay" + }, + { + "key": "America/Blanc-Sablon", + "value": "America/Blanc-Sablon" + }, + { + "key": "America/Toronto", + "value": "America/Toronto" + }, + { + "key": "America/Nipigon", + "value": "America/Nipigon" + }, + { + "key": "America/Thunder_Bay", + "value": "America/Thunder_Bay" + }, + { + "key": "America/Iqaluit", + "value": "America/Iqaluit" + }, + { + "key": "America/Pangnirtung", + "value": "America/Pangnirtung" + }, + { + "key": "America/Resolute", + "value": "America/Resolute" + }, + { + "key": "America/Atikokan", + "value": "America/Atikokan" + }, + { + "key": "America/Rankin_Inlet", + "value": "America/Rankin_Inlet" + }, + { + "key": "America/Winnipeg", + "value": "America/Winnipeg" + }, + { + "key": "America/Rainy_River", + "value": "America/Rainy_River" + }, + { + "key": "America/Regina", + "value": "America/Regina" + }, + { + "key": "America/Swift_Current", + "value": "America/Swift_Current" + }, + { + "key": "America/Edmonton", + "value": "America/Edmonton" + }, + { + "key": "America/Cambridge_Bay", + "value": "America/Cambridge_Bay" + }, + { + "key": "America/Yellowknife", + "value": "America/Yellowknife" + }, + { + "key": "America/Inuvik", + "value": "America/Inuvik" + }, + { + "key": "America/Creston", + "value": "America/Creston" + }, + { + "key": "America/Dawson_Creek", + "value": "America/Dawson_Creek" + }, + { + "key": "America/Vancouver", + "value": "America/Vancouver" + }, + { + "key": "America/Whitehorse", + "value": "America/Whitehorse" + }, + { + "key": "America/Dawson", + "value": "America/Dawson" + }, + { + "key": "Indian/Cocos", + "value": "Indian/Cocos" + }, + { + "key": "Africa/Kinshasa", + "value": "Africa/Kinshasa" + }, + { + "key": "Africa/Lubumbashi", + "value": "Africa/Lubumbashi" + }, + { + "key": "Africa/Bangui", + "value": "Africa/Bangui" + }, + { + "key": "Africa/Brazzaville", + "value": "Africa/Brazzaville" + }, + { + "key": "Europe/Zurich", + "value": "Europe/Zurich" + }, + { + "key": "Africa/Abidjan", + "value": "Africa/Abidjan" + }, + { + "key": "Pacific/Rarotonga", + "value": "Pacific/Rarotonga" + }, + { + "key": "America/Santiago", + "value": "America/Santiago" + }, + { + "key": "Pacific/Easter", + "value": "Pacific/Easter" + }, + { + "key": "Africa/Douala", + "value": "Africa/Douala" + }, + { + "key": "Asia/Shanghai", + "value": "Asia/Shanghai" + }, + { + "key": "Asia/Harbin", + "value": "Asia/Harbin" + }, + { + "key": "Asia/Chongqing", + "value": "Asia/Chongqing" + }, + { + "key": "Asia/Urumqi", + "value": "Asia/Urumqi" + }, + { + "key": "Asia/Kashgar", + "value": "Asia/Kashgar" + }, + { + "key": "America/Bogota", + "value": "America/Bogota" + }, + { + "key": "America/Costa_Rica", + "value": "America/Costa_Rica" + }, + { + "key": "America/Havana", + "value": "America/Havana" + }, + { + "key": "Atlantic/Cape_Verde", + "value": "Atlantic/Cape_Verde" + }, + { + "key": "America/Curacao", + "value": "America/Curacao" + }, + { + "key": "Indian/Christmas", + "value": "Indian/Christmas" + }, + { + "key": "Asia/Nicosia", + "value": "Asia/Nicosia" + }, + { + "key": "Europe/Prague", + "value": "Europe/Prague" + }, + { + "key": "Europe/Berlin", + "value": "Europe/Berlin" + }, + { + "key": "Europe/Busingen", + "value": "Europe/Busingen" + }, + { + "key": "Africa/Djibouti", + "value": "Africa/Djibouti" + }, + { + "key": "Europe/Copenhagen", + "value": "Europe/Copenhagen" + }, + { + "key": "America/Dominica", + "value": "America/Dominica" + }, + { + "key": "America/Santo_Domingo", + "value": "America/Santo_Domingo" + }, + { + "key": "Africa/Algiers", + "value": "Africa/Algiers" + }, + { + "key": "America/Guayaquil", + "value": "America/Guayaquil" + }, + { + "key": "Pacific/Galapagos", + "value": "Pacific/Galapagos" + }, + { + "key": "Europe/Tallinn", + "value": "Europe/Tallinn" + }, + { + "key": "Africa/Cairo", + "value": "Africa/Cairo" + }, + { + "key": "Africa/El_Aaiun", + "value": "Africa/El_Aaiun" + }, + { + "key": "Africa/Asmara", + "value": "Africa/Asmara" + }, + { + "key": "Europe/Madrid", + "value": "Europe/Madrid" + }, + { + "key": "Africa/Ceuta", + "value": "Africa/Ceuta" + }, + { + "key": "Atlantic/Canary", + "value": "Atlantic/Canary" + }, + { + "key": "Africa/Addis_Ababa", + "value": "Africa/Addis_Ababa" + }, + { + "key": "Europe/Helsinki", + "value": "Europe/Helsinki" + }, + { + "key": "Pacific/Fiji", + "value": "Pacific/Fiji" + }, + { + "key": "Atlantic/Stanley", + "value": "Atlantic/Stanley" + }, + { + "key": "Pacific/Chuuk", + "value": "Pacific/Chuuk" + }, + { + "key": "Pacific/Pohnpei", + "value": "Pacific/Pohnpei" + }, + { + "key": "Pacific/Kosrae", + "value": "Pacific/Kosrae" + }, + { + "key": "Atlantic/Faroe", + "value": "Atlantic/Faroe" + }, + { + "key": "Europe/Paris", + "value": "Europe/Paris" + }, + { + "key": "Africa/Libreville", + "value": "Africa/Libreville" + }, + { + "key": "Europe/London", + "value": "Europe/London" + }, + { + "key": "America/Grenada", + "value": "America/Grenada" + }, + { + "key": "Asia/Tbilisi", + "value": "Asia/Tbilisi" + }, + { + "key": "America/Cayenne", + "value": "America/Cayenne" + }, + { + "key": "Europe/Guernsey", + "value": "Europe/Guernsey" + }, + { + "key": "Africa/Accra", + "value": "Africa/Accra" + }, + { + "key": "Europe/Gibraltar", + "value": "Europe/Gibraltar" + }, + { + "key": "America/Godthab", + "value": "America/Godthab" + }, + { + "key": "America/Danmarkshavn", + "value": "America/Danmarkshavn" + }, + { + "key": "America/Scoresbysund", + "value": "America/Scoresbysund" + }, + { + "key": "America/Thule", + "value": "America/Thule" + }, + { + "key": "Africa/Banjul", + "value": "Africa/Banjul" + }, + { + "key": "Africa/Conakry", + "value": "Africa/Conakry" + }, + { + "key": "America/Guadeloupe", + "value": "America/Guadeloupe" + }, + { + "key": "Africa/Malabo", + "value": "Africa/Malabo" + }, + { + "key": "Europe/Athens", + "value": "Europe/Athens" + }, + { + "key": "Atlantic/South_Georgia", + "value": "Atlantic/South_Georgia" + }, + { + "key": "America/Guatemala", + "value": "America/Guatemala" + }, + { + "key": "Pacific/Guam", + "value": "Pacific/Guam" + }, + { + "key": "Africa/Bissau", + "value": "Africa/Bissau" + }, + { + "key": "America/Guyana", + "value": "America/Guyana" + }, + { + "key": "Asia/Hong_Kong", + "value": "Asia/Hong_Kong" + }, + { + "key": "America/Tegucigalpa", + "value": "America/Tegucigalpa" + }, + { + "key": "Europe/Zagreb", + "value": "Europe/Zagreb" + }, + { + "key": "America/Port-au-Prince", + "value": "America/Port-au-Prince" + }, + { + "key": "Europe/Budapest", + "value": "Europe/Budapest" + }, + { + "key": "Asia/Jakarta", + "value": "Asia/Jakarta" + }, + { + "key": "Asia/Pontianak", + "value": "Asia/Pontianak" + }, + { + "key": "Asia/Makassar", + "value": "Asia/Makassar" + }, + { + "key": "Asia/Jayapura", + "value": "Asia/Jayapura" + }, + { + "key": "Europe/Dublin", + "value": "Europe/Dublin" + }, + { + "key": "Asia/Jerusalem", + "value": "Asia/Jerusalem" + }, + { + "key": "Europe/Isle_of_Man", + "value": "Europe/Isle_of_Man" + }, + { + "key": "Asia/Kolkata", + "value": "Asia/Kolkata" + }, + { + "key": "Indian/Chagos", + "value": "Indian/Chagos" + }, + { + "key": "Asia/Baghdad", + "value": "Asia/Baghdad" + }, + { + "key": "Asia/Tehran", + "value": "Asia/Tehran" + }, + { + "key": "Atlantic/Reykjavik", + "value": "Atlantic/Reykjavik" + }, + { + "key": "Europe/Rome", + "value": "Europe/Rome" + }, + { + "key": "Europe/Jersey", + "value": "Europe/Jersey" + }, + { + "key": "America/Jamaica", + "value": "America/Jamaica" + }, + { + "key": "Asia/Amman", + "value": "Asia/Amman" + }, + { + "key": "Asia/Tokyo", + "value": "Asia/Tokyo" + }, + { + "key": "Africa/Nairobi", + "value": "Africa/Nairobi" + }, + { + "key": "Asia/Bishkek", + "value": "Asia/Bishkek" + }, + { + "key": "Asia/Phnom_Penh", + "value": "Asia/Phnom_Penh" + }, + { + "key": "Pacific/Tarawa", + "value": "Pacific/Tarawa" + }, + { + "key": "Pacific/Enderbury", + "value": "Pacific/Enderbury" + }, + { + "key": "Pacific/Kiritimati", + "value": "Pacific/Kiritimati" + }, + { + "key": "Indian/Comoro", + "value": "Indian/Comoro" + }, + { + "key": "America/St_Kitts", + "value": "America/St_Kitts" + }, + { + "key": "Asia/Pyongyang", + "value": "Asia/Pyongyang" + }, + { + "key": "Asia/Seoul", + "value": "Asia/Seoul" + }, + { + "key": "Asia/Kuwait", + "value": "Asia/Kuwait" + }, + { + "key": "America/Cayman", + "value": "America/Cayman" + }, + { + "key": "Asia/Almaty", + "value": "Asia/Almaty" + }, + { + "key": "Asia/Qyzylorda", + "value": "Asia/Qyzylorda" + }, + { + "key": "Asia/Aqtobe", + "value": "Asia/Aqtobe" + }, + { + "key": "Asia/Aqtau", + "value": "Asia/Aqtau" + }, + { + "key": "Asia/Oral", + "value": "Asia/Oral" + }, + { + "key": "Asia/Vientiane", + "value": "Asia/Vientiane" + }, + { + "key": "Asia/Beirut", + "value": "Asia/Beirut" + }, + { + "key": "America/St_Lucia", + "value": "America/St_Lucia" + }, + { + "key": "Europe/Vaduz", + "value": "Europe/Vaduz" + }, + { + "key": "Asia/Colombo", + "value": "Asia/Colombo" + }, + { + "key": "Africa/Monrovia", + "value": "Africa/Monrovia" + }, + { + "key": "Africa/Maseru", + "value": "Africa/Maseru" + }, + { + "key": "Europe/Vilnius", + "value": "Europe/Vilnius" + }, + { + "key": "Europe/Luxembourg", + "value": "Europe/Luxembourg" + }, + { + "key": "Europe/Riga", + "value": "Europe/Riga" + }, + { + "key": "Africa/Tripoli", + "value": "Africa/Tripoli" + }, + { + "key": "Africa/Casablanca", + "value": "Africa/Casablanca" + }, + { + "key": "Europe/Monaco", + "value": "Europe/Monaco" + }, + { + "key": "Europe/Chisinau", + "value": "Europe/Chisinau" + }, + { + "key": "Europe/Podgorica", + "value": "Europe/Podgorica" + }, + { + "key": "America/Marigot", + "value": "America/Marigot" + }, + { + "key": "Indian/Antananarivo", + "value": "Indian/Antananarivo" + }, + { + "key": "Pacific/Majuro", + "value": "Pacific/Majuro" + }, + { + "key": "Pacific/Kwajalein", + "value": "Pacific/Kwajalein" + }, + { + "key": "Europe/Skopje", + "value": "Europe/Skopje" + }, + { + "key": "Africa/Bamako", + "value": "Africa/Bamako" + }, + { + "key": "Asia/Rangoon", + "value": "Asia/Rangoon" + }, + { + "key": "Asia/Ulaanbaatar", + "value": "Asia/Ulaanbaatar" + }, + { + "key": "Asia/Hovd", + "value": "Asia/Hovd" + }, + { + "key": "Asia/Choibalsan", + "value": "Asia/Choibalsan" + }, + { + "key": "Asia/Macau", + "value": "Asia/Macau" + }, + { + "key": "Pacific/Saipan", + "value": "Pacific/Saipan" + }, + { + "key": "America/Martinique", + "value": "America/Martinique" + }, + { + "key": "Africa/Nouakchott", + "value": "Africa/Nouakchott" + }, + { + "key": "America/Montserrat", + "value": "America/Montserrat" + }, + { + "key": "Europe/Malta", + "value": "Europe/Malta" + }, + { + "key": "Indian/Mauritius", + "value": "Indian/Mauritius" + }, + { + "key": "Indian/Maldives", + "value": "Indian/Maldives" + }, + { + "key": "Africa/Blantyre", + "value": "Africa/Blantyre" + }, + { + "key": "America/Mexico_City", + "value": "America/Mexico_City" + }, + { + "key": "America/Cancun", + "value": "America/Cancun" + }, + { + "key": "America/Merida", + "value": "America/Merida" + }, + { + "key": "America/Monterrey", + "value": "America/Monterrey" + }, + { + "key": "America/Matamoros", + "value": "America/Matamoros" + }, + { + "key": "America/Mazatlan", + "value": "America/Mazatlan" + }, + { + "key": "America/Chihuahua", + "value": "America/Chihuahua" + }, + { + "key": "America/Ojinaga", + "value": "America/Ojinaga" + }, + { + "key": "America/Hermosillo", + "value": "America/Hermosillo" + }, + { + "key": "America/Tijuana", + "value": "America/Tijuana" + }, + { + "key": "America/Santa_Isabel", + "value": "America/Santa_Isabel" + }, + { + "key": "America/Bahia_Banderas", + "value": "America/Bahia_Banderas" + }, + { + "key": "Asia/Kuala_Lumpur", + "value": "Asia/Kuala_Lumpur" + }, + { + "key": "Asia/Kuching", + "value": "Asia/Kuching" + }, + { + "key": "Africa/Maputo", + "value": "Africa/Maputo" + }, + { + "key": "Africa/Windhoek", + "value": "Africa/Windhoek" + }, + { + "key": "Pacific/Noumea", + "value": "Pacific/Noumea" + }, + { + "key": "Africa/Niamey", + "value": "Africa/Niamey" + }, + { + "key": "Pacific/Norfolk", + "value": "Pacific/Norfolk" + }, + { + "key": "Africa/Lagos", + "value": "Africa/Lagos" + }, + { + "key": "America/Managua", + "value": "America/Managua" + }, + { + "key": "Europe/Amsterdam", + "value": "Europe/Amsterdam" + }, + { + "key": "Europe/Oslo", + "value": "Europe/Oslo" + }, + { + "key": "Asia/Kathmandu", + "value": "Asia/Kathmandu" + }, + { + "key": "Pacific/Nauru", + "value": "Pacific/Nauru" + }, + { + "key": "Pacific/Niue", + "value": "Pacific/Niue" + }, + { + "key": "Pacific/Auckland", + "value": "Pacific/Auckland" + }, + { + "key": "Pacific/Chatham", + "value": "Pacific/Chatham" + }, + { + "key": "Asia/Muscat", + "value": "Asia/Muscat" + }, + { + "key": "America/Panama", + "value": "America/Panama" + }, + { + "key": "America/Lima", + "value": "America/Lima" + }, + { + "key": "Pacific/Tahiti", + "value": "Pacific/Tahiti" + }, + { + "key": "Pacific/Marquesas", + "value": "Pacific/Marquesas" + }, + { + "key": "Pacific/Gambier", + "value": "Pacific/Gambier" + }, + { + "key": "Pacific/Port_Moresby", + "value": "Pacific/Port_Moresby" + }, + { + "key": "Asia/Manila", + "value": "Asia/Manila" + }, + { + "key": "Asia/Karachi", + "value": "Asia/Karachi" + }, + { + "key": "Europe/Warsaw", + "value": "Europe/Warsaw" + }, + { + "key": "America/Miquelon", + "value": "America/Miquelon" + }, + { + "key": "Pacific/Pitcairn", + "value": "Pacific/Pitcairn" + }, + { + "key": "America/Puerto_Rico", + "value": "America/Puerto_Rico" + }, + { + "key": "Asia/Gaza", + "value": "Asia/Gaza" + }, + { + "key": "Asia/Hebron", + "value": "Asia/Hebron" + }, + { + "key": "Europe/Lisbon", + "value": "Europe/Lisbon" + }, + { + "key": "Atlantic/Madeira", + "value": "Atlantic/Madeira" + }, + { + "key": "Atlantic/Azores", + "value": "Atlantic/Azores" + }, + { + "key": "Pacific/Palau", + "value": "Pacific/Palau" + }, + { + "key": "America/Asuncion", + "value": "America/Asuncion" + }, + { + "key": "Asia/Qatar", + "value": "Asia/Qatar" + }, + { + "key": "Indian/Reunion", + "value": "Indian/Reunion" + }, + { + "key": "Europe/Bucharest", + "value": "Europe/Bucharest" + }, + { + "key": "Europe/Belgrade", + "value": "Europe/Belgrade" + }, + { + "key": "Europe/Kaliningrad", + "value": "Europe/Kaliningrad" + }, + { + "key": "Europe/Moscow", + "value": "Europe/Moscow" + }, + { + "key": "Europe/Volgograd", + "value": "Europe/Volgograd" + }, + { + "key": "Europe/Samara", + "value": "Europe/Samara" + }, + { + "key": "Asia/Yekaterinburg", + "value": "Asia/Yekaterinburg" + }, + { + "key": "Asia/Omsk", + "value": "Asia/Omsk" + }, + { + "key": "Asia/Novosibirsk", + "value": "Asia/Novosibirsk" + }, + { + "key": "Asia/Novokuznetsk", + "value": "Asia/Novokuznetsk" + }, + { + "key": "Asia/Krasnoyarsk", + "value": "Asia/Krasnoyarsk" + }, + { + "key": "Asia/Irkutsk", + "value": "Asia/Irkutsk" + }, + { + "key": "Asia/Yakutsk", + "value": "Asia/Yakutsk" + }, + { + "key": "Asia/Khandyga", + "value": "Asia/Khandyga" + }, + { + "key": "Asia/Vladivostok", + "value": "Asia/Vladivostok" + }, + { + "key": "Asia/Sakhalin", + "value": "Asia/Sakhalin" + }, + { + "key": "Asia/Ust-Nera", + "value": "Asia/Ust-Nera" + }, + { + "key": "Asia/Magadan", + "value": "Asia/Magadan" + }, + { + "key": "Asia/Kamchatka", + "value": "Asia/Kamchatka" + }, + { + "key": "Asia/Anadyr", + "value": "Asia/Anadyr" + }, + { + "key": "Africa/Kigali", + "value": "Africa/Kigali" + }, + { + "key": "Asia/Riyadh", + "value": "Asia/Riyadh" + }, + { + "key": "Pacific/Guadalcanal", + "value": "Pacific/Guadalcanal" + }, + { + "key": "Indian/Mahe", + "value": "Indian/Mahe" + }, + { + "key": "Africa/Khartoum", + "value": "Africa/Khartoum" + }, + { + "key": "Europe/Stockholm", + "value": "Europe/Stockholm" + }, + { + "key": "Asia/Singapore", + "value": "Asia/Singapore" + }, + { + "key": "Atlantic/St_Helena", + "value": "Atlantic/St_Helena" + }, + { + "key": "Europe/Ljubljana", + "value": "Europe/Ljubljana" + }, + { + "key": "Arctic/Longyearbyen", + "value": "Arctic/Longyearbyen" + }, + { + "key": "Europe/Bratislava", + "value": "Europe/Bratislava" + }, + { + "key": "Africa/Freetown", + "value": "Africa/Freetown" + }, + { + "key": "Europe/San_Marino", + "value": "Europe/San_Marino" + }, + { + "key": "Africa/Dakar", + "value": "Africa/Dakar" + }, + { + "key": "Africa/Mogadishu", + "value": "Africa/Mogadishu" + }, + { + "key": "America/Paramaribo", + "value": "America/Paramaribo" + }, + { + "key": "Africa/Juba", + "value": "Africa/Juba" + }, + { + "key": "Africa/Sao_Tome", + "value": "Africa/Sao_Tome" + }, + { + "key": "America/El_Salvador", + "value": "America/El_Salvador" + }, + { + "key": "America/Lower_Princes", + "value": "America/Lower_Princes" + }, + { + "key": "Asia/Damascus", + "value": "Asia/Damascus" + }, + { + "key": "Africa/Mbabane", + "value": "Africa/Mbabane" + }, + { + "key": "America/Grand_Turk", + "value": "America/Grand_Turk" + }, + { + "key": "Africa/Ndjamena", + "value": "Africa/Ndjamena" + }, + { + "key": "Indian/Kerguelen", + "value": "Indian/Kerguelen" + }, + { + "key": "Africa/Lome", + "value": "Africa/Lome" + }, + { + "key": "Asia/Bangkok", + "value": "Asia/Bangkok" + }, + { + "key": "Asia/Dushanbe", + "value": "Asia/Dushanbe" + }, + { + "key": "Pacific/Fakaofo", + "value": "Pacific/Fakaofo" + }, + { + "key": "Asia/Dili", + "value": "Asia/Dili" + }, + { + "key": "Asia/Ashgabat", + "value": "Asia/Ashgabat" + }, + { + "key": "Africa/Tunis", + "value": "Africa/Tunis" + }, + { + "key": "Pacific/Tongatapu", + "value": "Pacific/Tongatapu" + }, + { + "key": "Europe/Istanbul", + "value": "Europe/Istanbul" + }, + { + "key": "America/Port_of_Spain", + "value": "America/Port_of_Spain" + }, + { + "key": "Pacific/Funafuti", + "value": "Pacific/Funafuti" + }, + { + "key": "Asia/Taipei", + "value": "Asia/Taipei" + }, + { + "key": "Africa/Dar_es_Salaam", + "value": "Africa/Dar_es_Salaam" + }, + { + "key": "Europe/Kiev", + "value": "Europe/Kiev" + }, + { + "key": "Europe/Uzhgorod", + "value": "Europe/Uzhgorod" + }, + { + "key": "Europe/Zaporozhye", + "value": "Europe/Zaporozhye" + }, + { + "key": "Europe/Simferopol", + "value": "Europe/Simferopol" + }, + { + "key": "Africa/Kampala", + "value": "Africa/Kampala" + }, + { + "key": "Pacific/Johnston", + "value": "Pacific/Johnston" + }, + { + "key": "Pacific/Midway", + "value": "Pacific/Midway" + }, + { + "key": "Pacific/Wake", + "value": "Pacific/Wake" + }, + { + "key": "America/New_York", + "value": "America/New_York" + }, + { + "key": "America/Detroit", + "value": "America/Detroit" + }, + { + "key": "America/Kentucky/Louisville", + "value": "America/Kentucky/Louisville" + }, + { + "key": "America/Kentucky/Monticello", + "value": "America/Kentucky/Monticello" + }, + { + "key": "America/Indiana/Indianapolis", + "value": "America/Indiana/Indianapolis" + }, + { + "key": "America/Indiana/Vincennes", + "value": "America/Indiana/Vincennes" + }, + { + "key": "America/Indiana/Winamac", + "value": "America/Indiana/Winamac" + }, + { + "key": "America/Indiana/Marengo", + "value": "America/Indiana/Marengo" + }, + { + "key": "America/Indiana/Petersburg", + "value": "America/Indiana/Petersburg" + }, + { + "key": "America/Indiana/Vevay", + "value": "America/Indiana/Vevay" + }, + { + "key": "America/Chicago", + "value": "America/Chicago" + }, + { + "key": "America/Indiana/Tell_City", + "value": "America/Indiana/Tell_City" + }, + { + "key": "America/Indiana/Knox", + "value": "America/Indiana/Knox" + }, + { + "key": "America/Menominee", + "value": "America/Menominee" + }, + { + "key": "America/North_Dakota/Center", + "value": "America/North_Dakota/Center" + }, + { + "key": "America/North_Dakota/New_Salem", + "value": "America/North_Dakota/New_Salem" + }, + { + "key": "America/North_Dakota/Beulah", + "value": "America/North_Dakota/Beulah" + }, + { + "key": "America/Denver", + "value": "America/Denver" + }, + { + "key": "America/Boise", + "value": "America/Boise" + }, + { + "key": "America/Phoenix", + "value": "America/Phoenix" + }, + { + "key": "America/Los_Angeles", + "value": "America/Los_Angeles" + }, + { + "key": "America/Anchorage", + "value": "America/Anchorage" + }, + { + "key": "America/Juneau", + "value": "America/Juneau" + }, + { + "key": "America/Sitka", + "value": "America/Sitka" + }, + { + "key": "America/Yakutat", + "value": "America/Yakutat" + }, + { + "key": "America/Nome", + "value": "America/Nome" + }, + { + "key": "America/Adak", + "value": "America/Adak" + }, + { + "key": "America/Metlakatla", + "value": "America/Metlakatla" + }, + { + "key": "Pacific/Honolulu", + "value": "Pacific/Honolulu" + }, + { + "key": "America/Montevideo", + "value": "America/Montevideo" + }, + { + "key": "Asia/Samarkand", + "value": "Asia/Samarkand" + }, + { + "key": "Asia/Tashkent", + "value": "Asia/Tashkent" + }, + { + "key": "Europe/Vatican", + "value": "Europe/Vatican" + }, + { + "key": "America/St_Vincent", + "value": "America/St_Vincent" + }, + { + "key": "America/Caracas", + "value": "America/Caracas" + }, + { + "key": "America/Tortola", + "value": "America/Tortola" + }, + { + "key": "America/St_Thomas", + "value": "America/St_Thomas" + }, + { + "key": "Asia/Ho_Chi_Minh", + "value": "Asia/Ho_Chi_Minh" + }, + { + "key": "Pacific/Efate", + "value": "Pacific/Efate" + }, + { + "key": "Pacific/Wallis", + "value": "Pacific/Wallis" + }, + { + "key": "Pacific/Apia", + "value": "Pacific/Apia" + }, + { + "key": "Asia/Aden", + "value": "Asia/Aden" + }, + { + "key": "Indian/Mayotte", + "value": "Indian/Mayotte" + }, + { + "key": "Africa/Johannesburg", + "value": "Africa/Johannesburg" + }, + { + "key": "Africa/Lusaka", + "value": "Africa/Lusaka" + }, + { + "key": "Africa/Harare", + "value": "Africa/Harare" + }, + { + "key": "UTC", + "value": "UTC" + } + ] + }, + "defaultOption": "ignore", + "description": "Timezone", + "details": "Set the timezone", + "key": "timezone", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "variable", + "description": "Hostname", + "details": "Set the hostname", + "key": "host-name", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Set a text description of the device", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Location", + "details": "Set the location of the device", + "key": "location", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1024, + "max": 2000, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "MTU Of DTLS Tunnel", + "details": "Set MTU of system\u2019s internal DTLS tunnel", + "key": "system-tunnel-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location" + ], + "dataType": { + "max": 90, + "min": -90, + "type": "float" + }, + "defaultOption": "ignore", + "description": "Latitude", + "details": "Set the device\u2019s physical latitude", + "key": "latitude", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "gps-location" + ], + "dataType": { + "max": 180, + "min": -180, + "type": "float" + }, + "defaultOption": "ignore", + "description": "Longitude", + "details": "Set the device\u2019s physical longitude", + "key": "longitude", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Device Groups", + "details": "Configure a list of comma-separated device groups", + "key": "device-groups", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "variable", + "description": "System IP", + "details": "Set the system IP address", + "key": "system-ip", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "Site ID", + "details": "Set the site ID", + "key": "site-id", + "objectType": "object", + "optionType": [ + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Overlay ID", + "details": "Set the Overlay ID", + "key": "overlay-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 20, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Port Offset", + "details": "Set the TLOC port offset when multiple devices are behind a NAT", + "key": "port-offset", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hopping", + "details": "Enable port hopping", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Control Session Policer Rate (pps)", + "details": "Set the policer rate for control sessions", + "key": "control-session-pps", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Controller Group ID", + "details": "Controller group id", + "key": "controller-group-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track Transport", + "details": "Configure tracking of transport", + "key": "track-transport", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "timer" + ], + "dataType": { + "default": 2, + "max": 30, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DNS Cache Timeout (minutes)", + "details": "Set when to time out vBond addresses cached by device", + "key": "dns-cache-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Gateway Tracking", + "details": "Enable or disable default gateway tracking", + "key": "track-default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Tables", + "details": "Enable IP tables for all WAN interfaces", + "key": "iptables-enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Collect Admin Tech on Reboot", + "details": "Collect admin-tech before reboot due to daemon failure", + "key": "admin-tech-on-failure", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 300, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Idle Timeout", + "details": "Idle CLI timeout in minutes", + "key": "idle-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "region" + ], + "dataType": { + "max": 63, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Region ID List", + "details": "Configure a list of region ID", + "key": "region-id-list", + "objectType": "list", + "optionType": [ + "constant", + "ignore", + "variable" + ] + } + ], + "name": "System", + "nameSpace": "http://viptela.com/system", + "xmlPath": [], + "xmlRootTag": "system" +} \ No newline at end of file diff --git a/gen/models/feature_templates/t1-e1-controller.json b/gen/models/feature_templates/t1-e1-controller.json new file mode 100644 index 00000000..36bed0a2 --- /dev/null +++ b/gen/models/feature_templates/t1-e1-controller.json @@ -0,0 +1,392 @@ +{ + "fields": [ + { + "dataPath": [ + "card" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "e1", + "value": "e1" + }, + { + "key": "t1", + "value": "t1" + } + ] + }, + "defaultOption": "variable", + "description": "Card Type", + "details": "Card Type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "card" + ], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Slot", + "details": "Slot number", + "key": "slot", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "card" + ], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Sub Slot", + "details": "SubSlot number", + "key": "bay", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "E1", + "value": "E1" + }, + { + "key": "T1", + "value": "T1" + } + ] + }, + "defaultOption": "constant", + "description": "Card Type", + "details": "Card Type", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Slot", + "details": "Slot number", + "key": "number", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Framing", + "details": "Framing", + "key": "framing", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "clock", + "source", + "line" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "secondary", + "value": "secondary" + }, + { + "key": "primary", + "value": "primary" + } + ] + }, + "defaultOption": "constant", + "description": "Line Mode", + "details": "Line Mode", + "key": "line-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "clock", + "source" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Internal", + "details": "Internal", + "key": "internal", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "clock", + "source" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Loop-Timed", + "details": "Loop-Timed", + "key": "loop-timed", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 240, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ami", + "value": "ami" + }, + { + "key": "b8zs", + "value": "b8zs" + }, + { + "key": "hdb3", + "value": "hdb3" + } + ] + }, + "defaultOption": "variable", + "description": "Line Code", + "details": "LineCode", + "key": "linecode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "cablelength" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "-15db", + "value": "-15db" + }, + { + "key": "-22.5db", + "value": "-22.5db" + }, + { + "key": "-7.5db", + "value": "-7.5db" + }, + { + "key": "0db", + "value": "0db" + } + ] + }, + "defaultOption": "ignore", + "description": "Length", + "details": "Set length for long", + "key": "long", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "cablelength" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "110ft", + "value": "110ft" + }, + { + "key": "220ft", + "value": "220ft" + }, + { + "key": "330ft", + "value": "330ft" + }, + { + "key": "440ft", + "value": "440ft" + }, + { + "key": "550ft", + "value": "550ft" + }, + { + "key": "660ft", + "value": "660ft" + } + ] + }, + "defaultOption": "ignore", + "description": "Length", + "details": "Set Length for short", + "key": "short", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 23, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Channel Group", + "details": "Number", + "key": "number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 24, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Time Slot", + "details": "Time slots", + "key": "timeslots", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Channel Group", + "details": "Channel Group List", + "key": "channel-group", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "number" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Controller tx-ex List", + "details": "Controller tx-ex List", + "key": "controller-tx-ex-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name", + "number" + ] + } + ], + "name": "T1-E1 Controller", + "nameSpace": "http://viptela.com/wwan", + "xmlPath": [], + "xmlRootTag": "controller" +} \ No newline at end of file diff --git a/gen/models/feature_templates/tenant.json b/gen/models/feature_templates/tenant.json new file mode 100644 index 00000000..65c0e0b2 --- /dev/null +++ b/gen/models/feature_templates/tenant.json @@ -0,0 +1,75 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Org Name", + "details": "Organization Name", + "key": "org-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "tier" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Tier name", + "details": "Tier name", + "key": "tier-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "tier" + ], + "dataType": { + "max": 336, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Maximum VPNs allowed", + "details": "Maximum VPNs allowed", + "key": "max-vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Tenant Organization Name", + "details": "Onboards the tenant on the device", + "key": "tenant", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "org-name" + ] + } + ], + "name": "tenant", + "nameSpace": "http://viptela.com/tenant", + "xmlPath": [], + "xmlRootTag": "tenants" +} \ No newline at end of file diff --git a/gen/models/feature_templates/uc-voice-endpoint-map.json b/gen/models/feature_templates/uc-voice-endpoint-map.json new file mode 100644 index 00000000..2035d0a4 --- /dev/null +++ b/gen/models/feature_templates/uc-voice-endpoint-map.json @@ -0,0 +1,95 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Unified Communications voice subpolicy name", + "details": "Unified Communications voice subpolicy name", + "key": "subpolicy-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Endpoint name", + "details": "Endpoint name", + "key": "endpoint-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "endpoint type", + "key": "type", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "subpolicies" + ], + "defaultOption": "constant", + "description": "list of endpoints", + "details": "Configure endpoints", + "key": "endpoints", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "endpoint-name" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "subpolicy list", + "details": "subpolicy list", + "key": "subpolicies", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "subpolicy-name" + ] + } + ], + "name": "uc-voice-endpoint-map", + "nameSpace": "http://viptela.com/voice", + "xmlPath": [], + "xmlRootTag": "uc-voice-endpoint-map" +} \ No newline at end of file diff --git a/gen/models/feature_templates/ucse.json b/gen/models/feature_templates/ucse.json new file mode 100644 index 00000000..d0eb4fbc --- /dev/null +++ b/gen/models/feature_templates/ucse.json @@ -0,0 +1,555 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "slot name", + "details": "Number of Slots", + "key": "subslot-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Bay", + "details": "Bay", + "key": "bay", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 3, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Slot", + "details": "Slot", + "key": "slot", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ucse", + "value": "ucse" + } + ] + }, + "defaultOption": "constant", + "description": "Module", + "details": "Module type", + "key": "module-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "imc", + "ip", + "static-case" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "vlan" + ], + "dataType": { + "max": 4095, + "min": 2, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Vlan Id", + "details": "Assign Vlan Id", + "key": "vlan-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "vlan" + ], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Assign priority", + "details": "Assign priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "ip", + "static-case" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Default Gateway", + "details": "Assign default gateway", + "key": "default-gateway", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Dedicated", + "details": "Dedicated", + "key": "dedicated", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ge1", + "details": "ge1", + "key": "ge1", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ge2", + "details": "ge2", + "key": "ge2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ge3", + "details": "ge3", + "key": "ge3", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "te2", + "details": "te2", + "key": "te2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "te3", + "details": "te3", + "key": "te3", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "console", + "details": "console", + "key": "console", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom", + "failover" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ge2", + "details": "ge2", + "key": "ge2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "imc", + "access-port", + "shared-lom", + "failover" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "te2", + "details": "te2", + "key": "te2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Inteface Name", + "details": "Set Inteface name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "switchport" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "access", + "value": "access" + }, + { + "key": "trunk", + "value": "trunk" + } + ] + }, + "defaultOption": "constant", + "description": "Switch port type", + "details": "Set type of switch port: access/trunk", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65527, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UCSE Interface VPN", + "details": "UCSE Interface VPN", + "key": "ucse-interface-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "access", + "vlan" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Set VLAN identifier associated with bridging domain", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "trunk", + "allowed", + "vlan" + ], + "dataType": { + "range": "1-4094", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Allowed VLANS", + "details": "Configure VLAN IDs used with the trunk", + "key": "vlans", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "trunk", + "native" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Native VLAN ID", + "details": "Configure VLAN ID used for native VLAN", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip", + "static-case" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip", + "unnumbered" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "IP Unnumbered", + "details": "IP Unnumbered", + "key": "unnumbered", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Interface name", + "details": "Interface name: GigabitEthernet0/<>/<> when present", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "if-name" + ] + } + ], + "name": "ucse", + "nameSpace": "http://viptela.com/bridge", + "xmlPath": [ + "switchport", + "ucse" + ], + "xmlRootTag": "subslot" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vbranch_networks.json b/gen/models/feature_templates/vbranch_networks.json new file mode 100644 index 00000000..e3dfb078 --- /dev/null +++ b/gen/models/feature_templates/vbranch_networks.json @@ -0,0 +1,122 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Network Name", + "details": "name of network", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Network Vlan", + "details": "name of Vbranch vlan", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Trunk Mode", + "details": "trunk mode", + "key": "trunk", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Sriov", + "details": "Sriov", + "key": "sriov", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Bridge Name", + "details": "name of bridge", + "key": "bridge", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Bridge Port", + "details": "bridge port", + "key": "bridgePort", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Vbranch bridge name", + "details": "name of bridge", + "key": "network", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "vbranch_networks", + "nameSpace": "http://www.cisco.com/nfv/network", + "xmlPath": [], + "xmlRootTag": "networks" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vbranch_services.json b/gen/models/feature_templates/vbranch_services.json new file mode 100644 index 00000000..8d8f9b67 --- /dev/null +++ b/gen/models/feature_templates/vbranch_services.json @@ -0,0 +1,595 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Service Name", + "details": "Name of the VM to be deployed", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the Image", + "details": "Name of the Image to be used for VM deployment", + "key": "image", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Flavor of the VM", + "details": "Flavor of the VM to be deployed", + "key": "flavor", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the deployed VM", + "details": "Name of the deployed VM", + "key": "vim_vm_name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "-1", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the deployed VM", + "details": "Name of the deployed VM", + "key": "bootup_time", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "5", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the deployed VM", + "details": "Name of the deployed VM", + "key": "recovery_wait_time", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "zone_host", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Type of placement", + "details": "Type of the placement of the vm_group", + "key": "type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "datastore1", + "type": "enumTextList", + "values": [ + { + "key": "datastore1", + "value": "Datastore 1(Internal)" + }, + { + "key": "datastore2", + "value": "Datastore 2(External)" + }, + { + "key": "datastore3", + "value": "Datastore 3(External)" + } + ] + }, + "defaultOption": "constant", + "description": "Datastore of the placement", + "details": "Datastore where the vm_group placement", + "key": "host", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "NIC ID", + "details": "ID of the NIC Interface", + "key": "nicid", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "virtio", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Model of virtual Nic", + "details": "Model of the virtual Nic", + "key": "model", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Virtual Network Name", + "details": "Name of the virtual network to be assigned to the nic", + "key": "network", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Interface of the VM", + "details": "Interface ID and network name", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "nicid" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Destination for Day zero config file", + "details": "Destination for Day zero config file", + "key": "dst", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Day zero config file", + "details": "Day zero config file", + "key": "data", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the property", + "details": "Name of the property", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Custom VNF Property", + "details": "Custom VNF Property Value", + "key": "val", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Custom VNF Property", + "details": "Custom VNF Property Value for Password", + "key": "encrypted_val", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "variable of name and val pair from image properties", + "details": "Contains config variables from image properties", + "key": "variable", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "name" + ] + } + ], + "dataPath": [ + "deployments" + ], + "defaultOption": "constant", + "description": "Deployment", + "details": "Deployment", + "key": "deployment", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Id of the image", + "details": "Id of the image", + "key": "imageId", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the image", + "details": "Name of the image", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Source of the image", + "details": "Source of the image to be downloaded from", + "key": "src", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Image", + "details": "uuid of the image", + "key": "imageUuid", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Checksum of the file", + "details": "Checksum of the file", + "key": "checksum", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Id of the scaffold file", + "details": "Id of the scaffold file", + "key": "imageId", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Source filename of the scaffold file", + "details": "Source filename of the scaffold file", + "key": "src", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Checksum of the scaffold file", + "details": "Checksum of the scaffold file", + "key": "checksum", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Image metadata", + "details": "Image metadata (scaffold)", + "key": "metadata", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "imageId" + ] + } + ], + "dataPath": [ + "images" + ], + "defaultOption": "constant", + "description": "Image", + "details": "Image properties", + "key": "image", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "imageId" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Name of the flavor", + "details": "Name of the flavor", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "Flavor of the Service Deployment", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Description of the flavor", + "details": "Description of the flavor", + "key": "description", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Virtual cores", + "details": "Number of virtual cores for the Flavor", + "key": "vcpus", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Memory", + "details": "Memory in MB for the Flavor", + "key": "memory_mb", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Root disk size", + "details": "Root disk size in MB", + "key": "root_disk_mb", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "flavors" + ], + "defaultOption": "constant", + "description": "Flavor of the deployment", + "details": "Specs of the deployment", + "key": "flavor", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "name" + ] + } + ], + "name": "vbranch_services", + "nameSpace": "http://www.cisco.com/nfvis/vm_lifecycle", + "xmlPath": [], + "xmlRootTag": "vm_lifecycle" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vbranchswitchport.json b/gen/models/feature_templates/vbranchswitchport.json new file mode 100644 index 00000000..a9a52b4c --- /dev/null +++ b/gen/models/feature_templates/vbranchswitchport.json @@ -0,0 +1,405 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Spanning Tree RSTP", + "details": "Spanning Tree: Enable or Disable", + "key": "spanning-tree", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "range": "1-2349,2450-4093", + "type": "numberListRangeByComma" + }, + "defaultOption": "constant", + "description": "Global VLAN ID", + "details": "VLAN ID", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Set Interface name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "enable", + "type": "enum", + "values": [ + { + "key": "enable", + "value": "enable" + }, + { + "key": "disable", + "value": "disable" + } + ] + }, + "defaultOption": "constant", + "description": "Spanning tree", + "details": "spanning-tree enable or disable", + "key": "spanning-tree", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "switchport" + ], + "dataType": { + "default": "access", + "type": "enum", + "values": [ + { + "key": "access", + "value": "access" + }, + { + "key": "trunk", + "value": "trunk" + } + ] + }, + "defaultOption": "constant", + "description": "VLAN Mode", + "details": "Set type of switch port: access/trunk", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + }, + { + "key": "10000", + "value": "10000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "access", + "vlan" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "VLAN Name", + "details": "VLAN Name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "access", + "vlan" + ], + "dataType": { + "max": 32, + "min": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Set VLAN identifier associated with bridging domain", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "trunk", + "allowed", + "vlan" + ], + "dataType": { + "range": "1-4094", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Allowed VLANS", + "details": "Configure VLAN IDs used with the trunk", + "key": "vlans", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "switchport", + "trunk", + "native" + ], + "dataType": { + "max": 4094, + "min": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Native VLAN ID", + "details": "Configure VLAN ID used for native VLAN", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "dot1x", + "value": "dot1x" + }, + { + "key": "mab", + "value": "MAB" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Order", + "details": "Specify authentication methods in the order of preference", + "key": "auth-order", + "maxElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Interface name", + "details": "Interface name: GigabitEthernet0/<>/<> when present", + "key": "interface", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "if-name" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 300, + "max": 1000000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Age-Out Time (seconds)", + "details": "Set when a MAC table entry ages out (0 to disable, 10-1000000 otherwise)", + "key": "age-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "Set MAC address in xxxx.xxxx.xxxx format", + "key": "macaddr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Switch Port Interface Name", + "details": "Interface name: GigabitEthernet0/<>/<>", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4094, + "min": 1, + "type": "number" + }, + "defaultOption": "variable", + "description": "VLAN ID", + "details": "Configure VLAN ID used with the mac and interface", + "key": "vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Static MAC Address", + "details": "Add static MAC address entries for interface", + "key": "static-mac-address", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "macaddr", + "vlan" + ] + } + ], + "name": "vbranchswitchport", + "nameSpace": "http://viptela.com/bridge", + "xmlPath": [], + "xmlRootTag": "switchport" +} \ No newline at end of file diff --git a/gen/models/feature_templates/virtual-application-utd.json b/gen/models/feature_templates/virtual-application-utd.json new file mode 100644 index 00000000..6b5c6152 --- /dev/null +++ b/gen/models/feature_templates/virtual-application-utd.json @@ -0,0 +1,211 @@ +{ + "fields": [ + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": "1", + "maxLength": 36, + "minLength": 0, + "type": "string" + }, + "defaultOption": "constant", + "description": "Virtual Application Instance", + "details": "List of Virtual applications", + "key": "instance-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "utd", + "type": "enum", + "values": [ + { + "key": "utd", + "value": "utd" + } + ] + }, + "defaultOption": "constant", + "description": "Virtual Application Type", + "details": "List of Virtual applications", + "key": "application-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Is Nat enabled", + "key": "nat", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Download URL Database on Device", + "details": "Download URL Database on Device", + "key": "database-url", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "default": "low", + "type": "enum", + "values": [ + { + "key": "low", + "value": "Low" + }, + { + "key": "medium", + "value": "Medium" + }, + { + "key": "high", + "value": "High" + } + ] + }, + "defaultOption": "ignore", + "description": "Resource Profile", + "details": "Resource Profile", + "key": "resource-profile", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Service Gateway IP", + "details": "Service Gateway IP (Management interface)", + "key": "service-gateway-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Service IP", + "details": "Service IP", + "key": "service-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "default": "192.0.2.1/24", + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Data Gateway IP", + "details": "Data Gateway IP ", + "key": "data-gateway-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "utd" + ], + "dataType": { + "default": "192.0.2.2/24", + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "Data Service IP", + "details": "Data Service IP", + "key": "data-service-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "constant", + "description": "Virtual Application", + "details": "Virtual application Instance", + "key": "virtual-application", + "objectType": "tree", + "optionType": [ + "constant" + ], + "primaryKeys": [ + "instance-id" + ] + } + ], + "name": "UTD", + "nameSpace": "http://cisco.com/ns/yang/Cisco-IOS-XE-utd", + "xmlPath": [], + "xmlRootTag": "virtual-applications" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-cedge-interface-cellular.json b/gen/models/feature_templates/vpn-cedge-interface-cellular.json new file mode 100644 index 00000000..0efae53c --- /dev/null +++ b/gen/models/feature_templates/vpn-cedge-interface-cellular.json @@ -0,0 +1,1979 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Cellular Interface Name <0-1>", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP server addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1428, + "max": 1500, + "min": 68, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <68...1500>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Static Ingress QoS", + "details": "Static ingress QoS for the port", + "key": "static-ingress-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Adaptive QoS", + "details": "Adaptive QoS", + "key": "qos-adaptive", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive" + ], + "dataType": { + "default": 15, + "max": 720, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Adapt Period(Minutes)", + "details": "Periodic timer for adaptive QoS in minutes", + "key": "period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default downstream bandwidth", + "key": "bandwidth-down", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Downstream min bandwidth limit", + "key": "dmin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Downstream max bandwidth limit", + "key": "dmax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default upstream bandwidth", + "key": "bandwidth-up", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Upstream min bandwidth limit", + "key": "umin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Upstream max bandwidth limit", + "key": "umax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + } + ], + "name": "LTE(wwan)", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-cedge-interface-multilink-controller.json b/gen/models/feature_templates/vpn-cedge-interface-multilink-controller.json new file mode 100644 index 00000000..5ee38907 --- /dev/null +++ b/gen/models/feature_templates/vpn-cedge-interface-multilink-controller.json @@ -0,0 +1,2148 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface Name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "multilink" + ], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "MultiLink Group Number", + "details": "MultiLink Group Number", + "key": "group", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "chap", + "value": "CHAP" + }, + { + "key": "pap", + "value": "PAP" + } + ] + }, + "defaultOption": "constant", + "description": "PPP Authentication Protocol", + "details": "PPP Link Authentication Protocol", + "key": "method", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "description": "PPP Authentication Protocol PAP", + "details": "PPP Authentication Protocol PAP", + "key": "pap", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "callin", + "type": "enum", + "values": [ + { + "key": "callin", + "value": "Unidirectional" + }, + { + "key": "false", + "value": "Bidirectional" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Authentication Type", + "details": "Authenticate remote on incoming call only", + "key": "callin", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ppp", + "chap" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CHAP Hostname", + "details": "CHAP Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "chap", + "password" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PPP Authentication Password", + "details": "Specify ppp authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "PAP Username", + "details": "PAP outbound Sent Username", + "key": "username-string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "boolean", + "value": "true" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "PAP outbound Password", + "key": "password", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PPP Authentication Password", + "details": "Specify ppp authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "multilink", + "fragment" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Disable Fragmentation", + "details": "Suppresss multilink fragmentation", + "key": "disable", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "multilink", + "fragment", + "delay" + ], + "dataType": { + "max": 1000, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Fragment Max Delay", + "details": "Maximum delay for each fragment", + "key": "delay-value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "multilink" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Interleaving fragments", + "details": "Allow interleaving of packets with fragments", + "key": "interleave", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 68, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <68...2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Static Ingress QoS", + "details": "Static ingress QoS for the port", + "key": "static-ingress-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "E1", + "value": "E1" + }, + { + "key": "T1", + "value": "T1" + }, + { + "key": "NIM-2T", + "value": "NIM-2T" + }, + { + "key": "NIM-4T", + "value": "NIM-4T" + } + ] + }, + "defaultOption": "constant", + "description": "Card Type", + "details": "Card Type", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Slot", + "details": "Slot number", + "key": "number", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Framing", + "details": "Framing", + "key": "framing", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "clock", + "source", + "line" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "secondary", + "value": "secondary" + }, + { + "key": "primary", + "value": "primary" + } + ] + }, + "defaultOption": "constant", + "description": "Line Mode", + "details": "Line Mode", + "key": "line-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "clock", + "source" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Internal", + "details": "Internal", + "key": "internal", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 240, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "ami", + "value": "ami" + }, + { + "key": "b8zs", + "value": "b8zs" + }, + { + "key": "hdb3", + "value": "hdb3" + } + ] + }, + "defaultOption": "variable", + "description": "Line Code", + "details": "LineCode", + "key": "linecode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "cablelength" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Length", + "details": "Set length for long", + "key": "long", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "cablelength" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Length", + "details": "Set Length for short", + "key": "short", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 30, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Channel Group", + "details": "Number", + "key": "number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Time Slot", + "details": "Time slots", + "key": "timeslots", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Channel Group", + "details": "Channel Group List", + "key": "channel-group", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "number" + ] + } + ], + "dataPath": [ + "controller" + ], + "defaultOption": "ignore", + "description": "Controller tx-ex List", + "details": "Controller tx-ex List", + "key": "controller-tx-ex-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name", + "number" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "2t", + "value": "2t" + }, + { + "key": "4t", + "value": "4t" + }, + { + "key": "2T", + "value": "2T" + }, + { + "key": "4T", + "value": "4T" + } + ] + }, + "defaultOption": "constant", + "description": "Nim Interface Type", + "details": "NIM Serial interface type", + "key": "nim", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface Name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth", + "details": "Interface bandwidth capacity, in kbps", + "key": "bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "DCE-mode-config" + ], + "dataType": { + "max": 8000000, + "min": 1200, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Clock rate", + "details": "Set preference for interface Clock speed", + "key": "clock-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "hdlc", + "value": "hdlc" + }, + { + "key": "ppp", + "value": "ppp" + } + ] + }, + "defaultOption": "ignore", + "description": "Encapsulation", + "details": "Configure Encapsulation for interface", + "key": "encapsulation-serial", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "controller" + ], + "defaultOption": "ignore", + "description": "Nim Interface List", + "details": "Nim Interface List", + "key": "nim-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "nim", + "if-name" + ] + } + ], + "name": "MultiLink", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-interface-ethpppoe.json b/gen/models/feature_templates/vpn-interface-ethpppoe.json new file mode 100644 index 00000000..34ca2b94 --- /dev/null +++ b/gen/models/feature_templates/vpn-interface-ethpppoe.json @@ -0,0 +1,2054 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Ethernet Interface Name", + "details": "Ethernet Interface/Sub Interface Name including sub interface number", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "bridge-dot1q" + ], + "dataType": { + "max": "4094", + "min": "1", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Encapsulation VLAN id", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "max": 255, + "min": 100, + "type": "number" + }, + "defaultOption": "constant", + "description": "Dialer Pool Member", + "details": "Dialer pool number", + "key": "dial-pool-number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "max": 1792, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "PPP Maximum Payload", + "details": "Maximum MRU to be negotiated during PPP LCP negotiation", + "key": "ppp-max-payload", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Negotiated", + "details": "Dialer IP Negotiated", + "key": "address-negotiated", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Unnumbered Loopback Interface", + "details": "Dialer IP Unnumbered Loopback interface name", + "key": "unnumbered", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "chap", + "value": "CHAP" + }, + { + "key": "pap", + "value": "PAP" + } + ] + }, + "defaultOption": "constant", + "description": "PPP Authentication Protocol", + "details": "PPP Link Authentication Protocol", + "key": "method", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "description": "PPP Authentication Protocol PAP", + "details": "PPP Authentication Protocol PAP", + "key": "pap", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "callin", + "type": "enum", + "values": [ + { + "key": "callin", + "value": "Unidirectional" + }, + { + "key": "false", + "value": "Bidirectional" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Authentication Type", + "details": "Authenticate remote on incoming call only", + "key": "callin", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ppp", + "chap" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CHAP Hostname", + "details": "CHAP Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "chap", + "password" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "CHAP Password", + "details": "Specify ppp chap authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "PAP Username", + "details": "PAP outbound Sent Username", + "key": "username-string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "boolean", + "value": "true" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "PAP outbound Password", + "key": "password", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "Specify ppp pap authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Adaptive QoS", + "details": "Adaptive QoS", + "key": "qos-adaptive", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive" + ], + "dataType": { + "default": 15, + "max": 720, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Adapt Period(Minutes)", + "details": "Periodic timer for adaptive QoS in minutes", + "key": "period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default downstream bandwidth", + "key": "bandwidth-down", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Downstream min bandwidth limit", + "key": "dmin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Downstream max bandwidth limit", + "key": "dmax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default upstream bandwidth", + "key": "bandwidth-up", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Upstream min bandwidth limit", + "key": "umin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Upstream max bandwidth limit", + "key": "umax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU for Dialer Interface", + "details": "IP MTU <576..2000>, in bytes", + "key": "dialer-ip-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Dialer TCP MSS", + "details": "Dialer TCP MSS on SYN packets, in bytes", + "key": "dialer-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "EthPPPoE", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-interface-ipoe.json b/gen/models/feature_templates/vpn-interface-ipoe.json new file mode 100644 index 00000000..418fdb35 --- /dev/null +++ b/gen/models/feature_templates/vpn-interface-ipoe.json @@ -0,0 +1,2216 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Ethernet Interface Name", + "details": "Ethernet Interface/Sub Interface Name including sub interface number", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP IPv4 helper addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "ipoe", + "type": "enum", + "values": [ + { + "key": "ipoe", + "value": "ipoe" + } + ] + }, + "defaultOption": "constant", + "description": "internal controller-type", + "details": "internal controller-type", + "key": "controller-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "regex": "^[^<>&]+$", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Controller VDSL Slot", + "details": "Set module slot/subslot/port number", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SRA", + "details": "Seamless rate adaption", + "key": "sra", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl1", + "details": "Set VDSL operating mode to adsl1", + "key": "adsl1", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl2", + "details": "Set VDSL operating mode to adsl2", + "key": "adsl2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl2plus", + "details": "Set VDSL operating mode to adsl2plus", + "key": "adsl2plus", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vdsl2", + "details": "Set VDSL operating mode to vdsl2", + "key": "vdsl2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ansi", + "details": "Set VDSL operating mode to ansi", + "key": "ansi", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 48, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "VDSL Modem Configuration", + "details": "Set module slot/subslot/port number", + "key": "modem", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "controller" + ], + "defaultOption": "ignore", + "description": "vdsl", + "details": "vdsl", + "key": "vdsl", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [ + "bridge-dot1q" + ], + "dataType": { + "max": "4094", + "min": "1", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Encapsulation VLAN id", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Dialer Pool Member", + "details": "Dialer pool number", + "key": "dial-pool-number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "max": 1792, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "PPP Maximum Payload", + "details": "Maximum MRU to be negotiated during PPP LCP negotiation", + "key": "ppp-max-payload", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Negotiated", + "details": "Dialer IP Negotiated", + "key": "address-negotiated", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Unnumbered Loopback Interface", + "details": "Dialer IP Unnumbered Loopback interface name", + "key": "unnumbered", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "chap", + "value": "CHAP" + }, + { + "key": "pap", + "value": "PAP" + } + ] + }, + "defaultOption": "constant", + "description": "PPP Authentication Protocol", + "details": "PPP Link Authentication Protocol", + "key": "method", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "description": "PPP Authentication Protocol PAP", + "details": "PPP Authentication Protocol PAP", + "key": "pap", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "chap" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CHAP Hostname", + "details": "CHAP Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "chap", + "password" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "CHAP Password", + "details": "Specify ppp chap authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "PAP Username", + "details": "PAP outbound Sent Username", + "key": "username-string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "boolean", + "value": "true" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "PAP outbound Password", + "key": "password", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "Specify ppp pap authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Adaptive QoS", + "details": "Adaptive QoS", + "key": "qos-adaptive", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive" + ], + "dataType": { + "default": 15, + "max": 720, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Adapt Period(Minutes)", + "details": "Periodic timer for adaptive QoS in minutes", + "key": "period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default downstream bandwidth", + "key": "bandwidth-down", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Downstream min bandwidth limit", + "key": "dmin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Downstream max bandwidth limit", + "key": "dmax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default upstream bandwidth", + "key": "bandwidth-up", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Upstream min bandwidth limit", + "key": "umin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Upstream max bandwidth limit", + "key": "umax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "IPoE", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-interface-pppoa.json b/gen/models/feature_templates/vpn-interface-pppoa.json new file mode 100644 index 00000000..1b267fd6 --- /dev/null +++ b/gen/models/feature_templates/vpn-interface-pppoa.json @@ -0,0 +1,2357 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "ATM Sub Interface Name", + "details": "ATM Sub interface Name", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Controller VDSL Slot", + "details": "Set module slot/subslot/port number", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SRA", + "details": "Seamless rate adaption", + "key": "sra", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl1", + "details": "Set VDSL operating mode to adsl1", + "key": "adsl1", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl2", + "details": "Set VDSL operating mode to adsl2", + "key": "adsl2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl2plus", + "details": "Set VDSL operating mode to adsl2plus", + "key": "adsl2plus", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vdsl2", + "details": "Set VDSL operating mode to vdsl2", + "key": "vdsl2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ansi", + "details": "Set VDSL operating mode to ansi", + "key": "ansi", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 48, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "VDSL Modem Configuration", + "details": "Set module slot/subslot/port number", + "key": "modem", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "controller" + ], + "defaultOption": "ignore", + "description": "vdsl", + "details": "vdsl", + "key": "vdsl", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "VPI and VCI", + "details": "VPI/VCI", + "key": "local-vpi-vci", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "vbr-nrt" + ], + "dataType": { + "max": "1015", + "min": "48", + "type": "number" + }, + "defaultOption": "constant", + "description": "Peak Cell Rate", + "details": "Peak Cell Rate in Kbps", + "key": "PCR", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "vbr-nrt" + ], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "Sustainable Cell Rate", + "details": "Peak Cell Rate in Kbps", + "key": "SCR", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "vbr-nrt" + ], + "dataType": { + "max": "65535", + "min": "1", + "type": "number" + }, + "defaultOption": "constant", + "description": "Maximum Burst Size", + "details": "Maximum Burst Size in Cells", + "key": "MCR", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "vbr-rt" + ], + "dataType": { + "max": "25000", + "min": "48", + "type": "number" + }, + "defaultOption": "constant", + "description": "Peak Cell Rate", + "details": "Peak Cell Rate in Kbps", + "key": "PCR", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "vbr-rt" + ], + "dataType": { + "type": "number" + }, + "defaultOption": "constant", + "description": "Average Cell Rate", + "details": "Average Cell Rate in Kbps", + "key": "ACR", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "vbr-rt" + ], + "dataType": { + "max": "65535", + "min": "1", + "type": "number" + }, + "defaultOption": "constant", + "description": "Maximum Burst Size", + "details": "Maximum Burst Size in number of Cells", + "key": "Burst-cell-size", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "encapsulation", + "aal5mux", + "ppp" + ], + "dataType": { + "type": "boolean", + "value": "false" + }, + "defaultOption": "ignore", + "description": "dialer", + "details": "dialer", + "key": "dialer", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "encapsulation" + ], + "dataType": { + "type": "boolean", + "value": "false" + }, + "defaultOption": "ignore", + "description": "aal5nlpid", + "details": "aal5nlpid", + "key": "aal5nlpid", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "encapsulation" + ], + "dataType": { + "type": "boolean", + "value": "false" + }, + "defaultOption": "ignore", + "description": "aal5snap", + "details": "aal5snap", + "key": "aal5snap", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dialer" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Dialer Pool Member", + "details": "Dialer Pool corresponding to this pvc", + "key": "pool-member", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "pvc", + "details": "pvc", + "key": "pvc", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "local-vpi-vci" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "chap", + "value": "CHAP" + }, + { + "key": "pap", + "value": "PAP" + } + ] + }, + "defaultOption": "constant", + "description": "PPP Authentication Protocol", + "details": "PPP Link Authentication Protocol", + "key": "method", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "description": "PPP Authentication Protocol PAP", + "details": "PPP Authentication Protocol PAP", + "key": "pap", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "callin", + "type": "enum", + "values": [ + { + "key": "callin", + "value": "Unidirectional" + }, + { + "key": "false", + "value": "Bidirectional" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Authentication Type", + "details": "Authenticate remote on incoming call only", + "key": "callin", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ppp", + "chap" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CHAP Hostname", + "details": "CHAP Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "chap", + "password" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PPP Authentication Password", + "details": "Specify ppp authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "PAP Username", + "details": "PAP outbound Sent Username", + "key": "username-string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "boolean", + "value": "true" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "PAP outbound Password", + "key": "password", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PPP Authentication Password", + "details": "Specify ppp authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Adaptive QoS", + "details": "Adaptive QoS", + "key": "qos-adaptive", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive" + ], + "dataType": { + "default": 15, + "max": 720, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Adapt Period(Minutes)", + "details": "Periodic timer for adaptive QoS in minutes", + "key": "period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default downstream bandwidth", + "key": "bandwidth-down", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Downstream min bandwidth limit", + "key": "dmin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Downstream max bandwidth limit", + "key": "dmax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default upstream bandwidth", + "key": "bandwidth-up", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Upstream min bandwidth limit", + "key": "umin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Upstream max bandwidth limit", + "key": "umax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "PPPoA", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-interface-pppoe.json b/gen/models/feature_templates/vpn-interface-pppoe.json new file mode 100644 index 00000000..9b9868fb --- /dev/null +++ b/gen/models/feature_templates/vpn-interface-pppoe.json @@ -0,0 +1,2233 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 63, + "min": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Ethernet Interface Name", + "details": "Ethernet Interface/Sub Interface Name including sub interface number", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Controller VDSL Slot", + "details": "Set module slot/subslot/port number", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SRA", + "details": "Seamless rate adaption", + "key": "sra", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl1", + "details": "Set VDSL operating mode to adsl1", + "key": "adsl1", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl2", + "details": "Set VDSL operating mode to adsl2", + "key": "adsl2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "adsl2plus", + "details": "Set VDSL operating mode to adsl2plus", + "key": "adsl2plus", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vdsl2", + "details": "Set VDSL operating mode to vdsl2", + "key": "vdsl2", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "operating", + "mode", + "auto" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ansi", + "details": "Set VDSL operating mode to ansi", + "key": "ansi", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 48, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "VDSL Modem Configuration", + "details": "Set module slot/subslot/port number", + "key": "modem", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "controller" + ], + "defaultOption": "ignore", + "description": "vdsl", + "details": "vdsl", + "key": "vdsl", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [ + "bridge-dot1q" + ], + "dataType": { + "max": "4094", + "min": "1", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VLAN ID", + "details": "Encapsulation VLAN id", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Dialer Pool Member", + "details": "Dialer pool number", + "key": "dial-pool-number", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "max": 1792, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "PPP Maximum Payload", + "details": "Maximum MRU to be negotiated during PPP LCP negotiation", + "key": "ppp-max-payload", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Negotiated", + "details": "Dialer IP Negotiated", + "key": "address-negotiated", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Unnumbered Loopback Interface", + "details": "Dialer IP Unnumbered Loopback interface name", + "key": "unnumbered", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "chap", + "value": "CHAP" + }, + { + "key": "pap", + "value": "PAP" + } + ] + }, + "defaultOption": "constant", + "description": "PPP Authentication Protocol", + "details": "PPP Link Authentication Protocol", + "key": "method", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "description": "PPP Authentication Protocol PAP", + "details": "PPP Authentication Protocol PAP", + "key": "pap", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ppp", + "authentication" + ], + "dataType": { + "default": "callin", + "type": "enum", + "values": [ + { + "key": "callin", + "value": "Unidirectional" + }, + { + "key": "false", + "value": "Bidirectional" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Authentication Type", + "details": "Authenticate remote on incoming call only", + "key": "callin", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "ppp", + "chap" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "CHAP Hostname", + "details": "CHAP Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "chap", + "password" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "CHAP Password", + "details": "Specify ppp chap authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "PAP Username", + "details": "PAP outbound Sent Username", + "key": "username-string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "boolean", + "value": "true" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "PAP outbound Password", + "key": "password", + "objectType": "node-only", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [ + "ppp", + "pap", + "sent-username", + "username" + ], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "PAP Password", + "details": "Specify ppp pap authentication Password", + "key": "ppp-auth-password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Control Connection", + "details": "Allow Control Connection", + "key": "control-connections", + "objectStatus": "deprecated", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Adaptive QoS", + "details": "Adaptive QoS", + "key": "qos-adaptive", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive" + ], + "dataType": { + "default": 15, + "max": 720, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Adapt Period(Minutes)", + "details": "Periodic timer for adaptive QoS in minutes", + "key": "period", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default downstream bandwidth", + "key": "bandwidth-down", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Downstream min bandwidth limit", + "key": "dmin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "downstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Downstream max bandwidth limit", + "key": "dmax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Default(Kbps)", + "details": "Adaptive QoS default upstream bandwidth", + "key": "bandwidth-up", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Min(Kbps)", + "details": "Upstream min bandwidth limit", + "key": "umin", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "qos-adaptive", + "upstream", + "range" + ], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "constant", + "description": "Max(Kbps)", + "details": "Upstream max bandwidth limit", + "key": "umax", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "PPPoE", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-interface-svi.json b/gen/models/feature_templates/vpn-interface-svi.json new file mode 100644 index 00000000..d977fb87 --- /dev/null +++ b/gen/models/feature_templates/vpn-interface-svi.json @@ -0,0 +1,1076 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 8, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "VLAN Interface Name", + "details": "Interface name: VLAN 1 - VLAN 4094 when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "Secondary IP Address", + "details": "Assign secondary IP addresses", + "key": "secondary-address", + "maxElements": 4, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCPv6", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP Rapid Commit", + "details": "Enable DHCPv6 rapid commit", + "key": "dhcp-rapid-commit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "IPv6 Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "Secondary IPv6 Address", + "details": "Assign secondary IPv6 addresses", + "key": "secondary-address", + "maxElements": 4, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP helper addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "DHCPv6 Helper", + "details": "DHCPv6 Helper address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCPv6 Helper VPN", + "details": "DHCPv6 Helper VPN", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "DHCPv6 Helper", + "details": "DHCPv6 Helper", + "key": "dhcp-helper-v6", + "maxElements": 8, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 9216, + "min": 1500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interface MTU", + "details": "Interface MTU <1500..9216> in bytes", + "key": "intrf-mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 9216, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "IP MTU <576..Interface MTU>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1200, + "max": 2678400, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ARP Timeout", + "details": "Timeout value for dynamically learned ARP entries, <0..2678400> seconds", + "key": "arp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access List", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access List", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 40950, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (milliseconds)", + "details": "Timer interval for successive advertisements, in milliseconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv4" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Assign IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "VRRP Secondary IP address", + "details": "VRRP Secondary IP address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP Secondary IP address", + "details": "VRRP Secondary IP address", + "key": "ipv4-secondary", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TLOC Preference Change", + "details": "change TLOC preference", + "key": "tloc-change-pref", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "TLOC Preference Change Value", + "details": "Set tloc preference change value", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 1000, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Tracker ID", + "details": "Tracker ID", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "decrement", + "type": "radioButtonList", + "values": [ + { + "label": "Decrement", + "value": "decrement" + }, + { + "label": "Shutdown", + "value": "shutdown" + } + ] + }, + "defaultOption": "constant", + "description": "Action", + "details": "Track Action", + "key": "track-action", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Decrement Value", + "details": "Decrement Value for VRRP priority", + "key": "decrement", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Tracker", + "details": "tracking object for VRRP configuration", + "key": "tracking-object", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 40950, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (milliseconds)", + "details": "Timer interval for successive advertisements, in milliseconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "regex": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "Link Local IPv6 Address", + "details": "Use link-local IPv6 Address", + "key": "ipv6-link-local", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "Global IPv6 Prefix", + "details": "Assign Global IPv6 Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IPv6", + "details": "IPv6 VRRP", + "key": "ipv6", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "ipv6-link-local" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "IPv6 Secondary IP address", + "details": "IPv6 Secondary IP address", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IPv6 Secondary IP address ", + "details": "IPv6 Secondary IP address", + "key": "ipv6-secondary", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "ipv6-vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + } + ], + "name": "SVI", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-interface-t1-e1.json b/gen/models/feature_templates/vpn-interface-t1-e1.json new file mode 100644 index 00000000..7882e3a8 --- /dev/null +++ b/gen/models/feature_templates/vpn-interface-t1-e1.json @@ -0,0 +1,1620 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Serial Interface Name - slot/subslot/port:channel-group for T1/E1, slot/subslot/port for NIM-1T", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable Core Region", + "details": "Enable core region", + "key": "enable-core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "core", + "type": "enum", + "values": [ + { + "key": "core", + "value": "Only in Core Region" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Core Region", + "details": "Enable core region", + "key": "core-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "off", + "type": "enum", + "values": [ + { + "key": "off", + "value": "Off" + }, + { + "key": "secondary-only", + "value": "Only in Secondary Region" + }, + { + "key": "secondary-shared", + "value": "Shared Between Primary and Secondary Regions" + } + ] + }, + "defaultOption": "ignore", + "description": "Enable Secondary Region", + "details": "Enable secondary region", + "key": "secondary-region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 1460, + "min": 500, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Tunnel TCP MSS", + "details": "Tunnel TCP MSS on SYN packets, in bytes", + "key": "tunnel-tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Network Broadcast", + "details": "Accept and respond to network-prefix-directed broadcasts)", + "key": "network-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 68, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <68...2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Static Ingress QoS", + "details": "Static ingress QoS for the port", + "key": "static-ingress-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "VPN QoS Map", + "details": "Name of VPN QoS map", + "key": "qos-map-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 128, + "min": 1, + "numRange": { + "end": 4294967295, + "start": 0 + }, + "type": "bandwidth", + "values": [ + "inherit", + "qos-reference", + "receive" + ] + }, + "defaultOption": "ignore", + "description": "Bandwidth", + "details": "Interface bandwidth capacity, in kbps", + "key": "bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "1200", + "value": "1200" + }, + { + "key": "2400", + "value": "2400" + }, + { + "key": "3600", + "value": "3600" + }, + { + "key": "4800", + "value": "4800" + }, + { + "key": "9600", + "value": "9600" + }, + { + "key": "14400", + "value": "14400" + }, + { + "key": "19200", + "value": "19200" + }, + { + "key": "28800", + "value": "28800" + }, + { + "key": "32000", + "value": "32000" + }, + { + "key": "38400", + "value": "38400" + }, + { + "key": "48000", + "value": "48000" + }, + { + "key": "56000", + "value": "56000" + }, + { + "key": "57600", + "value": "57600" + }, + { + "key": "64000", + "value": "64000" + }, + { + "key": "72000", + "value": "72000" + }, + { + "key": "115200", + "value": "115200" + }, + { + "key": "125000", + "value": "125000" + }, + { + "key": "148000", + "value": "148000" + }, + { + "key": "192000", + "value": "192000" + }, + { + "key": "250000", + "value": "250000" + }, + { + "key": "256000", + "value": "256000" + }, + { + "key": "384000", + "value": "384000" + }, + { + "key": "500000", + "value": "500000" + }, + { + "key": "512000", + "value": "512000" + }, + { + "key": "768000", + "value": "768000" + }, + { + "key": "800000", + "value": "800000" + }, + { + "key": "1000000", + "value": "1000000" + }, + { + "key": "2000000", + "value": "2000000" + }, + { + "key": "4000000", + "value": "4000000" + }, + { + "key": "5300000", + "value": "5300000" + }, + { + "key": "8000000", + "value": "8000000" + } + ] + }, + "defaultOption": "ignore", + "description": "Clock rate", + "details": "Set preference for interface Clock speed", + "key": "clock-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "hdlc", + "value": "hdlc" + }, + { + "key": "ppp", + "value": "ppp" + }, + { + "key": "frame-relay", + "value": "frame-relay" + } + ] + }, + "defaultOption": "ignore", + "description": "Encapsulation", + "details": "Configure Encapsulation for interface", + "key": "encapsulation-serial", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + } + ], + "name": "T1_E1", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-bridge.json b/gen/models/feature_templates/vpn-vedge-interface-bridge.json new file mode 100644 index 00000000..47299a79 --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-bridge.json @@ -0,0 +1,607 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface name: ge0/<0-..> or ge0/<0-..>.vlanid or irb or loopback or natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Power Over Ethernet", + "details": "Configure interface as Power-over-Ethernet source", + "deviceModels": [ + "vedge-100", + "vedge-ISR1100-4GLTE", + "vedge-100-W2", + "vedge-100-WM", + "vedge-100-M2", + "vedge-100-M", + "vedge-ISR1100-4G", + "vedge-ISR1100X-4G" + ], + "key": "poe", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "Secondary IP Address", + "details": "Assign secondary IP addresses", + "key": "secondary-address", + "maxElements": 4, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP server addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1200, + "max": 2678400, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ARP Timeout", + "details": "Timeout value for dynamically learned ARP entries, <0..2678400> seconds", + "key": "arp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "Disable", + "on": "Enable" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP Redirect", + "details": "Set this option to disable the icmp redirect packets", + "key": "icmp-redirect-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block Non Source IP", + "details": "Block packets originating from IP address that is not from this source", + "key": "block-non-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access List", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (seconds)", + "details": "Timer interval for successive advertisements, in seconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv4" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Assign IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TLOC Preference Change", + "details": "change TLOC preference", + "key": "tloc-change-pref", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 1, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TLOC Preference Change Value", + "details": "Set tloc preference change value(only value 1 allowed)", + "key": "value", + "objectType": "object", + "optionType": [ + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Tracker Name", + "details": "Interface or Container List name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Decrement Value", + "details": "Decrement value for priority", + "key": "decrement", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Tracker", + "details": "Interface or Container list Tracking", + "key": "track", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + } + ], + "name": "Bridge Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-cellular.json b/gen/models/feature_templates/vpn-vedge-interface-cellular.json new file mode 100644 index 00000000..d6ea8f0c --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-cellular.json @@ -0,0 +1,1918 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 1, + "maxLength": 10, + "min": 0, + "minLength": 9, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Cellular Interface Name <0-1>", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 16, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Profile ID", + "details": "Set Profile ID", + "key": "profile", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "lte", + "type": "enum", + "values": [ + { + "key": "lte", + "value": "lte" + }, + { + "key": "cdma", + "value": "cdma" + }, + { + "key": "auto", + "value": "auto" + } + ] + }, + "defaultOption": "ignore", + "description": "Technology", + "details": "Technology used for cellular", + "key": "technology", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "radioButtonList", + "values": [ + { + "label": "Yes", + "value": "false" + }, + { + "label": "No", + "value": "true" + } + ] + }, + "defaultOption": "ignore", + "description": "IPv6 Enable", + "details": "IPv6 Enable", + "key": "ipv6-shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCPv6", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP Rapid Commit", + "details": "Enable DHCPv6 rapid commit", + "key": "dhcp-rapid-commit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP server addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "Disable", + "on": "Enable" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP Redirect", + "details": "Set this option to disable the icmp redirect packets", + "key": "icmp-redirect-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "core", + "value": "Core" + }, + { + "key": "core-shared", + "value": "Shared Between Core and Primary Regions" + }, + { + "key": "secondary-only", + "value": "Secondary Only" + }, + { + "key": "secondary-shared", + "value": "Secondary Shared" + } + ] + }, + "defaultOption": "ignore", + "description": "Region", + "details": "Set region ID", + "key": "region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 7000, + "max": 10000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time", + "details": "Set last resort hold DOWN time(100-10000 ms) for TLOC", + "key": "hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1428, + "max": 1428, + "min": 576, + "type": "number" + }, + "defaultOption": "constant", + "description": "IP MTU", + "details": "Interface MTU <576...1428>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Static Ingress QoS", + "details": "Static ingress QoS for the port", + "key": "static-ingress-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1200, + "max": 2678400, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ARP Timeout", + "details": "Timeout value for dynamically learned ARP entries, <0..2678400> seconds", + "key": "arp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block Non Source IP", + "details": "Block packets originating from IP address that is not from this source", + "key": "block-non-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + } + ], + "name": "LTE(wwan)", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-gre.json b/gen/models/feature_templates/vpn-vedge-interface-gre.json new file mode 100644 index 00000000..3e038a4d --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-gre.json @@ -0,0 +1,384 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "maxLength": 6, + "min": 1, + "minLength": 4, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..255)", + "details": "Interface name: ge0/<0-..> or ge0/<0-..>.vlanid or irb or loopback or natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "GRE Source IP Address", + "details": "Tunnel source IP Address", + "key": "tunnel-source", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Tunnel Source Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "GRE Destination IP Address", + "details": "Tunnel destination IP Address", + "key": "tunnel-destination", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "keepalive" + ], + "dataType": { + "default": 10, + "max": 65536, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Interval", + "details": "GRE keepalive interval <0..65535> seconds", + "key": "interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "keepalive" + ], + "dataType": { + "default": 3, + "max": 255, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Retries", + "details": "GRE keepalive retries <0..255>", + "key": "retries", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "maxElements": 1, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "GRE", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-ipsec.json b/gen/models/feature_templates/vpn-vedge-interface-ipsec.json new file mode 100644 index 00000000..f5afa273 --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-ipsec.json @@ -0,0 +1,577 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "maxLength": 8, + "min": 1, + "minLength": 6, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..255)", + "details": "Interface name: IPsec when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IPsec Source IP Address", + "details": "Tunnel source IP Address", + "key": "tunnel-source", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "IPsec Source Interface", + "details": "<1..32 characters> Interface name: ge0/<0-..> or ge0/<0-..>.vlanid", + "key": "tunnel-source-interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "IPsec Destination IP Address/FQDN", + "details": "Tunnel destination IP address", + "key": "tunnel-destination", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "max": 3600, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Interval", + "details": "IKE keepalive interval (seconds)", + "key": "dpd-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dead-peer-detection" + ], + "dataType": { + "max": 60, + "min": 2, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DPD Retries", + "details": "IKE keepalive retries", + "key": "dpd-retries", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 1, + "max": 2, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IKE Version", + "details": "IKE Version <1..2>", + "key": "ike-version", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "main", + "type": "enum", + "values": [ + { + "key": "main", + "value": "Enable IKE phase 1 main mode negotiation" + }, + { + "key": "aggressive", + "value": "Enable IKE phase 1 aggressive mode negotiation" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Mode", + "details": "IKE integrity protocol", + "key": "ike-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": 14400, + "max": 1209600, + "min": 300, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IKE Rekey Interval (seconds)", + "details": "IKE rekey interval <300..1209600> seconds", + "key": "ike-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "aes256-cbc-sha1", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha2", + "value": "AES 256 CBC SHA2" + }, + { + "key": "aes128-cbc-sha1", + "value": "AES 128 CBC SHA1" + }, + { + "key": "aes128-cbc-sha2", + "value": "AES 128 CBC SHA2" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Cipher Suite", + "details": "IKE identity the IKE preshared secret belongs to", + "key": "ike-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike" + ], + "dataType": { + "default": "16", + "type": "enum", + "values": [ + { + "key": "2", + "value": "2 1024-bit modulus" + }, + { + "key": "14", + "value": "14 2048-bit modulus" + }, + { + "key": "15", + "value": "15 3072-bit modulus" + }, + { + "key": "16", + "value": "16 4096-bit modulus" + } + ] + }, + "defaultOption": "ignore", + "description": "IKE Diffie-Hellman Group", + "details": "IKE Diffie Hellman Groups", + "key": "ike-group", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 127, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Preshared Key", + "details": "Use preshared key to authenticate IKE peer", + "key": "pre-shared-secret", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for local End point", + "details": "IKE ID for the local endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-local-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ike", + "authentication-type", + "pre-shared-key" + ], + "dataType": { + "maxLength": 63, + "minLength": 1, + "type": "ike" + }, + "defaultOption": "ignore", + "description": "IKE ID for Remote End point", + "details": "IKE ID for the remote endpoint. Input IPv4 address, domain name, or email address", + "key": "ike-remote-id", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 3600, + "max": 1209600, + "min": 300, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Rekey Interval (seconds)", + "details": "IPsec rekey interval <300..1209600> seconds", + "key": "ipsec-rekey-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": 512, + "max": 4096, + "min": 64, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IPsec Replay Window", + "details": "Replay window size 32..8192 (must be a power of 2)", + "key": "ipsec-replay-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "aes256-gcm", + "type": "enum", + "values": [ + { + "key": "aes256-cbc-sha1", + "value": "AES 256 CBC SHA1" + }, + { + "key": "aes256-cbc-sha384", + "value": "AES 256 CBC SHA 384" + }, + { + "key": "aes256-cbc-sha256", + "value": "AES 256 CBC SHA 256" + }, + { + "key": "aes256-cbc-sha512", + "value": "AES 256 CBC SHA 512" + }, + { + "key": "aes256-gcm", + "value": "AES 256 GCM" + }, + { + "key": "null-sha1", + "value": "Nul SHA1" + }, + { + "key": "null-sha384", + "value": "Nul SHA 384" + }, + { + "key": "null-sha256", + "value": "Nul SHA 256" + }, + { + "key": "null-sha512", + "value": "Nul SHA 512" + } + ] + }, + "defaultOption": "ignore", + "description": "IPsec Cipher Suite", + "details": "IPsec(ESP) encryption and integrity protocol", + "key": "ipsec-ciphersuite", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipsec" + ], + "dataType": { + "default": "group-16", + "type": "enum", + "values": [ + { + "key": "group-2", + "value": "Group-2 1024-bit modulus" + }, + { + "key": "group-14", + "value": "Group-14 2048-bit modulus" + }, + { + "key": "group-15", + "value": "Group-15 3072-bit modulus" + }, + { + "key": "group-16", + "value": "Group-16 4096-bit modulus" + }, + { + "key": "none", + "value": "None" + } + ] + }, + "defaultOption": "ignore", + "description": "Perfect Forward Secrecy", + "details": "IPsec perfect forward secrecy settings", + "key": "perfect-forward-secrecy", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "maxElements": 1, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "IPsec Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-natpool.json b/gen/models/feature_templates/vpn-vedge-interface-natpool.json new file mode 100644 index 00000000..c8de5970 --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-natpool.json @@ -0,0 +1,643 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 31, + "maxLength": 9, + "min": 1, + "minLength": 8, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name (1..31)", + "details": "Interface name: natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "inside", + "type": "enum", + "values": [ + { + "key": "inside", + "value": "inside" + }, + { + "key": "outside", + "value": "outside" + } + ] + }, + "defaultOption": "ignore", + "description": "Direction", + "details": "Direction of NAT translation", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Overload", + "details": "Enable port translation(PAT)", + "key": "overload", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port Start Range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port End Range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-Forwarding Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP", + "details": "Source IP address to be translated", + "key": "source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translate IP", + "details": "Statically translated source IP address", + "key": "translate-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "inside", + "value": "inside" + }, + { + "key": "outside", + "value": "outside" + } + ] + }, + "defaultOption": "constant", + "description": "Static NAT Direction", + "details": "Direction of static NAT translation", + "key": "static-nat-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Static NAT", + "details": "Configure static NAT entries", + "key": "static", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-ip", + "translate-ip" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enumList", + "values": [ + { + "key": "ge0/0", + "value": "ge0/0" + }, + { + "key": "ge0/1", + "value": "ge0/1" + }, + { + "key": "ge0/2", + "value": "ge0/2" + }, + { + "key": "ge0/3", + "value": "ge0/3" + }, + { + "key": "ge0/4", + "value": "ge0/4" + }, + { + "key": "ge0/5", + "value": "ge0/5" + }, + { + "key": "ge0/6", + "value": "ge0/6" + }, + { + "key": "ge0/7", + "value": "ge0/7" + }, + { + "key": "ge0/8", + "value": "ge0/8" + }, + { + "key": "ge0/9", + "value": "ge0/9" + }, + { + "key": "ge0/10", + "value": "ge0/10" + }, + { + "key": "ge1/0", + "value": "ge1/0" + }, + { + "key": "ge1/1", + "value": "ge1/1" + }, + { + "key": "ge1/2", + "value": "ge1/2" + }, + { + "key": "ge1/3", + "value": "ge1/3" + }, + { + "key": "ge1/4", + "value": "ge1/4" + }, + { + "key": "ge1/5", + "value": "ge1/5" + }, + { + "key": "ge1/6", + "value": "ge1/6" + }, + { + "key": "ge1/7", + "value": "ge1/7" + }, + { + "key": "ge1/8", + "value": "ge1/8" + }, + { + "key": "ge1/9", + "value": "ge1/9" + }, + { + "key": "ge1/10", + "value": "ge1/10" + }, + { + "key": "ge2/0", + "value": "ge2/0" + }, + { + "key": "ge2/1", + "value": "ge2/1" + }, + { + "key": "ge2/2", + "value": "ge2/2" + }, + { + "key": "ge2/3", + "value": "ge2/3" + }, + { + "key": "ge2/4", + "value": "ge2/4" + }, + { + "key": "ge2/5", + "value": "ge2/5" + }, + { + "key": "ge2/6", + "value": "ge2/6" + }, + { + "key": "ge2/7", + "value": "ge2/7" + }, + { + "key": "ge2/8", + "value": "ge2/8" + }, + { + "key": "ge2/9", + "value": "ge2/9" + }, + { + "key": "ge2/10", + "value": "ge2/10" + }, + { + "key": "ge3/0", + "value": "ge3/0" + }, + { + "key": "ge3/1", + "value": "ge3/1" + }, + { + "key": "ge3/2", + "value": "ge3/2" + }, + { + "key": "ge3/3", + "value": "ge3/3" + }, + { + "key": "ge3/4", + "value": "ge3/4" + }, + { + "key": "ge3/5", + "value": "ge3/5" + }, + { + "key": "ge3/6", + "value": "ge3/6" + }, + { + "key": "ge3/7", + "value": "ge3/7" + }, + { + "key": "ge3/8", + "value": "ge3/8" + }, + { + "key": "ge3/9", + "value": "ge3/9" + }, + { + "key": "ge3/10", + "value": "ge3/10" + } + ] + }, + "defaultOption": "constant", + "description": "Interfaces", + "details": "Interface to track", + "key": "interface", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "NAT Tracker", + "details": "Track the reachability of pre-NAT IP", + "key": "tracker", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "interface" + ] + } + ], + "name": "Natpool Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-ppp.json b/gen/models/feature_templates/vpn-vedge-interface-ppp.json new file mode 100644 index 00000000..b7ed84db --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-ppp.json @@ -0,0 +1,1563 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "max": 31, + "maxLength": 5, + "min": 1, + "minLength": 4, + "type": "string" + }, + "defaultOption": "constant", + "description": "PPP Interface Name (1..31)", + "details": "PPP Interface Name (1..31)", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "Disable", + "on": "Enable" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP Redirect", + "details": "Set this option to disable the icmp redirect packets", + "key": "icmp-redirect-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port start range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port end range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-forward Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 7000, + "max": 10000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time", + "details": "Set last resort hold DOWN time(100-10000 ms) for TLOC", + "key": "hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of NAT refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1492, + "max": 1492, + "min": 576, + "type": "number" + }, + "defaultOption": "notIgnore", + "description": "IP MTU", + "details": "Interface MTU <576..1492>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1452, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block Non Source IP", + "details": "Block packets originating from IP address that is not from this source", + "key": "block-non-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [ + "ppp" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "AC Name", + "details": "Access Concentrator Name", + "key": "ac-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "chap", + "value": "chap" + }, + { + "key": "pap", + "value": "pap" + } + ] + }, + "defaultOption": "constant", + "description": "Authentication Protocol", + "details": "Protocol for the authentication of the remote PPP peer CHAP/PAP", + "key": "auth-choice", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Hostname", + "details": "Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Username", + "details": "Sent Username", + "key": "sent-username", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "constant", + "description": "Password", + "details": "Specify Password", + "key": "password", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ppp" + ], + "defaultOption": "ignore", + "description": "Authentication", + "details": "Set authentication parameters", + "key": "authentication", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "auth-choice" + ] + } + ], + "name": "PPP Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface-vap.json b/gen/models/feature_templates/vpn-vedge-interface-vap.json new file mode 100644 index 00000000..ee4ca07e --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface-vap.json @@ -0,0 +1,229 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "vap0", + "value": "Vap 0" + }, + { + "key": "vap1", + "value": "Vap 1" + }, + { + "key": "vap2", + "value": "Vap 2" + }, + { + "key": "vap3", + "value": "Vap 3" + } + ] + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "VAP interface name: vap<0-7>", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 4, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 4, + "type": "string" + }, + "defaultOption": "constant", + "description": "SSID", + "details": "Service set identifier (SSID)", + "key": "ssid", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "none", + "value": "None" + }, + { + "key": "wpa-personal", + "value": "WPA Personal" + }, + { + "key": "wpa2-personal", + "value": "WPA2 Personal" + }, + { + "key": "wpa/wpa2-personal", + "value": "WPA / WPA2-personal" + }, + { + "key": "wpa-enterprise", + "value": "WPA Enterprise" + }, + { + "key": "wpa2-enterprise", + "value": "WPA2 Enterprise" + }, + { + "key": "wpa/wpa2-enterprise", + "value": "WPA / WPA2 Enterprise" + } + ] + }, + "defaultOption": "ignore", + "description": "Data Security", + "details": "Data frame encryption", + "key": "data-security", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "none", + "type": "enum", + "values": [ + { + "key": "none", + "value": "None" + }, + { + "key": "optional", + "value": "Optional" + }, + { + "key": "required", + "value": "Required" + } + ] + }, + "defaultOption": "ignore", + "description": "Management Security", + "details": "Management frame encryption", + "key": "mgmt-security", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "WPA Personal Key", + "details": "WPA/WPA2 personal key", + "key": "wpa-personal-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Radius Servers", + "details": "RADIUS servers", + "key": "radius-servers", + "maxElements": 3, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 20, + "max": 50, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Clients", + "details": "Number of supported clients", + "key": "max-clients", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "name": "VAP Interface", + "nameSpace": "http://viptela.com/wlan", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-interface.json b/gen/models/feature_templates/vpn-vedge-interface.json new file mode 100644 index 00000000..39126445 --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-interface.json @@ -0,0 +1,3620 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface name: ge0/<0-..> or ge0/<0-..>.vlanid or irb or loopback or natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "radioButtonList", + "values": [ + { + "label": "Yes", + "value": "false" + }, + { + "label": "No", + "value": "true" + } + ] + }, + "defaultOption": "ignore", + "description": "IPv6 Enable", + "details": "IPv6 Enable", + "key": "ipv6-shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Power Over Ethernet", + "details": "Configure interface as Power-over-Ethernet source", + "deviceModels": [ + "vedge-100", + "vedge-ISR1100-4GLTE", + "vedge-100-W2", + "vedge-100-WM", + "vedge-100-M2", + "vedge-100-M", + "vedge-ISR1100-4G", + "vedge-ISR1100X-4G" + ], + "key": "poe", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "Secondary IP Address", + "details": "Assign secondary IP addresses", + "key": "secondary-address", + "maxElements": 4, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCPv6", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP Rapid Commit", + "details": "Enable DHCPv6 rapid commit", + "key": "dhcp-rapid-commit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "IPv6 Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "Secondary IPv6 Address", + "details": "Assign secondary IPv6 addresses", + "key": "secondary-address", + "maxElements": 2, + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access List", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP IPv4 helper addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "DHCPv6 Helper", + "details": "DHCPv6 Helper address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCPv6 Helper VPN", + "details": "DHCPv6 Helper VPN", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "DHCPv6 Helper", + "details": "DHCPv6 Helper", + "key": "dhcp-helper-v6", + "maxElements": 8, + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Enable tracker for this interface", + "key": "tracker", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT", + "details": "Network Address Translation on this interface", + "key": "nat", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "outbound", + "type": "enum", + "values": [ + { + "key": "outbound", + "value": "outbound" + }, + { + "key": "bi-directional", + "value": "bi-directional" + } + ] + }, + "defaultOption": "ignore", + "description": "Refresh Mode", + "details": "Set NAT refresh mode", + "key": "refresh", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Log NAT flow creations or deletions", + "details": "Log NAT flow creations or deletions", + "key": "log-translations", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": 60, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block ICMP", + "details": "Block inbound ICMP error messages", + "key": "block-icmp-error", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Respond To Ping", + "details": "Respond to ping requests to NAT interface ip address from the public side", + "key": "respond-to-ping", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat", + "natpool" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "NAT Pool Range Start", + "details": "Starting IP address of NAT pool range", + "key": "range-start", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat", + "natpool" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "NAT Pool Range End", + "details": "Ending IP address of NAT pool range", + "key": "range-end", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat64" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT64", + "details": "NAT64 on this interface", + "key": "enable", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT64", + "details": "NAT64 on this interface", + "key": "nat64", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat64" + ], + "dataType": { + "default": 1, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "UDP Timeout", + "details": "Set NAT64 UDP session timeout, in minutes", + "key": "udp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat64" + ], + "dataType": { + "default": 60, + "max": 8947, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP Timeout", + "details": "Set NAT64 TCP session timeout, in minutes", + "key": "tcp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat64", + "natpool" + ], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "ignore", + "description": "NAT64 v6 Pool Range Start", + "details": "Starting IP address of NAT64 pool range", + "key": "range-start", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "nat64", + "natpool" + ], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "ignore", + "description": "NAT64 v6 Pool Range End", + "details": "Ending IP address of NAT64 pool range", + "key": "range-end", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "NAT64 Pool name", + "details": "NAT64 Pool name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT 64 v4 Pool Range Start", + "details": "Starting IP address of NAT pool range", + "key": "start-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT 64 v4 Pool Range End", + "details": "Ending IP address of NAT pool range", + "key": "end-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat64", + "v4" + ], + "defaultOption": "ignore", + "description": "NAT64 V4 Pool", + "details": "Set NAT64 v4 pool range", + "key": "pool", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port Start Range", + "details": "Starting port of port range", + "key": "port-start", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Port End Range", + "details": "Ending port of port range", + "key": "port-end", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "tcp" + }, + { + "key": "udp", + "value": "udp" + } + ] + }, + "defaultOption": "constant", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "VPN in which private IP Address resides", + "key": "private-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Private IP", + "details": "Private IP Address to translate to", + "key": "private-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Port-Forwarding Rules", + "details": "Set port-forwarding rules for NAT on this interface", + "key": "port-forward", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "port-start", + "port-end", + "proto" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Source IP Address", + "details": "Source IP address to be translated", + "key": "source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Translated Source IP Address", + "details": "Statically translated source IP address", + "key": "translate-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65530, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Source VPN ID", + "details": "Configure VPN ID", + "key": "source-vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "inside", + "value": "Inside" + }, + { + "key": "outside", + "value": "Outside" + } + ] + }, + "defaultOption": "ignore", + "description": "Static NAT Direction", + "details": "Direction of static NAT translation", + "key": "static-nat-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "tcp", + "value": "TCP" + }, + { + "key": "udp", + "value": "UDP" + } + ] + }, + "defaultOption": "ignore", + "description": "Protocol", + "details": "Layer 4 protocol to apply port forwarding to", + "key": "proto", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Source Port", + "details": "Source port", + "key": "source-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Translate Port", + "details": "Translate port", + "key": "translate-port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat" + ], + "defaultOption": "ignore", + "description": "Static Rules", + "details": "Configure static NAT entries", + "key": "static", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "source-ip", + "translate-ip" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "secondary-only", + "value": "Secondary Only" + }, + { + "key": "secondary-shared", + "value": "Secondary Shared" + } + ] + }, + "defaultOption": "ignore", + "description": "Region", + "details": "Set region ID", + "key": "region", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "gre", + "value": "gre" + }, + { + "key": "ipsec", + "value": "ipsec" + } + ] + }, + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation", + "key": "encap", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Preference", + "details": "Set preference for TLOC", + "key": "preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Weight", + "details": "Set weight for TLOC", + "key": "weight", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "tunnel-interface" + ], + "defaultOption": "constant", + "description": "Encapsulation", + "details": "Encapsulation for TLOC", + "key": "encapsulation", + "objectType": "tree", + "optionType": [ + "constant", + "variable" + ], + "primaryKeys": [ + "encap" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Border", + "details": "Set TLOC as border TLOC", + "key": "border", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Per-tunnel Qos", + "details": "Per-tunnel Qos", + "key": "per-tunnel-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "notIgnore", + "description": "Per-tunnel QoS Aggregator", + "details": "Per-tunnel QoS Aggregator", + "key": "per-tunnel-qos-aggregator", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tunnel-qos" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "spoke", + "value": "spoke" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Set tunnel QoS mode", + "details": "Set tunnel QoS mode", + "key": "mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Maximum Control Connections", + "details": "Set the maximum number of control connections for this TLOC", + "key": "max-control-connections", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "vBond As Stun Server", + "details": "Put this wan interface in STUN mode only", + "key": "vbond-as-stun-server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 100, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Exclude Controller Group List", + "details": "Exclude the following controller groups defined in this list", + "key": "exclude-controller-group-list", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 8, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "vManage Connection Preference", + "details": "Set interface preference for control connection to vManage <0..8>", + "key": "vmanage-connection-preference", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Port Hop", + "details": "Disallow port hopping on the tunnel interface", + "key": "port-hop", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Restrict", + "details": "Restrict this TLOC behavior", + "key": "restrict", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "tloc-extension-gre-to" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "GRE tunnel destination IP", + "details": "Extend the TLOC to a remote node over GRE tunnel", + "key": "dst-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "NAT Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Bind Loopback Tunnel", + "details": "Bind loopback tunnel interface to a physical interface", + "key": "bind", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Last-Resort Circuit", + "details": "Set TLOC as last resort", + "key": "last-resort-circuit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 7000, + "max": 10000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hold Time", + "details": "Set last resort hold DOWN time(100-10000 ms) for TLOC", + "key": "hold-time", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "BGP", + "details": "Allow/deny BGP", + "key": "bgp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "OSPF", + "details": "Allow/Deny OSPF", + "key": "ospf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SNMP", + "details": "Allow/Deny SNMP", + "key": "snmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny Https", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "autoneg", + "type": "enum", + "values": [ + { + "key": "ingress", + "value": "ingress" + }, + { + "key": "egress", + "value": "egress" + }, + { + "key": "autoneg", + "value": "autoneg" + }, + { + "key": "both", + "value": "both" + }, + { + "key": "none", + "value": "none" + } + ] + }, + "defaultOption": "ignore", + "description": "Flow Control", + "details": "Enable flow control", + "key": "flow-control", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Static Ingress QoS", + "details": "Static ingress QoS for the port", + "key": "static-ingress-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "tlocExtension" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tloc-extension-gre-from" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "GRE tunnel source IP", + "details": "Extend remote TLOC over a GRE tunnel to a local WAN interface", + "key": "src-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tloc-extension-gre-from" + ], + "dataType": { + "type": "xConnect" + }, + "defaultOption": "ignore", + "description": "Xconnect", + "details": "Extend remote TLOC over a GRE tunnel to a local WAN interface", + "key": "xconnect", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + }, + { + "key": "10000", + "value": "10000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1200, + "max": 2678400, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ARP Timeout", + "details": "Timeout value for dynamically learned ARP entries, <0..2678400> seconds", + "key": "arp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "IP Directed-Broadcast", + "details": "IP Directed-Broadcast", + "key": "ip-directed-broadcast", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "Off", + "on": "On" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP/ICMPv6 Redirect Disable", + "details": "Set this option to disable the icmp/icmpv6 redirect packets", + "key": "icmp-redirect-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Block Non Source IP", + "details": "Block packets originating from IP address that is not from this source", + "key": "block-non-source-ip", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (seconds)", + "details": "Timer interval for successive advertisements, in seconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv4" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "IP Address", + "details": "Assign IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "TLOC Preference Change", + "details": "change TLOC preference", + "key": "tloc-change-pref", + "objectType": "node-only", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 1, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TLOC Preference Change Value", + "details": "Set tloc preference change value(only value 1 allowed)", + "key": "value", + "objectType": "object", + "optionType": [ + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Tracker Name", + "details": "Interface or Container List name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Decrement Value", + "details": "Decrement value for priority", + "key": "decrement", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Object Tracker", + "details": "Interface or Container list Tracking", + "key": "track", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "name" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Group ID", + "details": "Group ID", + "key": "grp-id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 100, + "max": 254, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Priority", + "details": "Set priority", + "key": "priority", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 3600, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Timer (seconds)", + "details": "Timer interval for successive advertisements, in seconds", + "key": "timer", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Track OMP", + "details": "Track OMP status", + "key": "track-omp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "regex": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "defaultOption": "ignore", + "description": "Track Prefix List", + "details": "Track Prefix List", + "key": "track-prefix-list", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "Link Local IPv6 Address", + "details": "Use link-local IPv6 Address", + "key": "ipv6-link-local", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "Global IPv6 Prefix", + "details": "Assign Global IPv6 Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IPv6", + "details": "IPv6 VRRP", + "key": "ipv6", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "ipv6-link-local" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "VRRP", + "details": "Enable VRRP", + "key": "ipv6-vrrp", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "grp-id" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "in-and-out", + "type": "enum", + "values": [ + { + "key": "in-and-out", + "value": "In and Out" + }, + { + "key": "in-only", + "value": "In only" + } + ] + }, + "defaultOption": "ignore", + "description": "Control Direction", + "details": "Set uni or bi directional authorization mode", + "key": "control-direction", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Wake On LAN", + "details": "Allow Wake-On-Lan magic packets to egress the port even when port is unauthorized", + "key": "wake-on-lan", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": 0, + "max": 1440, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Reauthentication (minutes)", + "details": "Specify timeout for reauthentication (in minutes)", + "key": "reauthentication", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Reject VLAN", + "details": "Set vlan to drop 802.1x enabled clients into if authentication is rejected", + "key": "auth-reject-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Authentication Fail VLAN", + "details": "Set vlan to drop 802.1x enabled clients into if authentication server is unreachable", + "key": "auth-fail-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Guest VLAN", + "details": "Set vlan to drop non-802.1x enabled clients into if client is not in MAB list", + "key": "guest-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Default VLAN", + "details": "Set vlan to drop non-802.1x enabled clients into if client is not in MAB list", + "key": "default-vlan", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "default": "single-host", + "type": "enum", + "values": [ + { + "key": "single-host", + "value": "Single Host" + }, + { + "key": "multi-auth", + "value": "Multi Auth" + }, + { + "key": "multi-host", + "value": "Multi Host" + } + ] + }, + "defaultOption": "ignore", + "description": "Host Mode", + "details": "Set host mode", + "key": "host-mode", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Radius Server", + "details": "Designate RADIUS server(s) for authentication and accounting in the order of preference", + "key": "radius-servers", + "maxElements": 2, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "max": 1440, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Account Interim Interval (minutes)", + "details": "RADIUS accounting interim interval in minutes", + "key": "accounting-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "NAS Identifier", + "details": "NAS identifier sent in RADIUS requests", + "key": "nas-identifier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "NAS IP", + "details": "NAS IP address sent in RADIUS requests", + "key": "nas-ip-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x" + ], + "dataType": { + "type": "enum", + "values": [ + { + "key": "radius", + "value": "Radius" + }, + { + "key": "mab", + "value": "MAB" + } + ] + }, + "defaultOption": "ignore", + "description": "Authentication Order", + "details": "Specify authentication methods in the order of preference", + "key": "auth-order", + "maxElements": 2, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "timeout" + ], + "dataType": { + "default": 60, + "max": 1440, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Inactivity (minutes)", + "details": "Interval for timing out inactive clients, in minutes", + "key": "inactivity", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "das" + ], + "dataType": { + "default": 3799, + "max": 65535, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DAS Port", + "details": "DAS UDP port number", + "key": "port", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "das" + ], + "dataType": { + "default": 300, + "max": 1000, + "min": 10, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Time Window (seconds)", + "details": "DAS event timestamp window, in seconds", + "key": "time-window", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "das" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Require Timestamp", + "details": "Require event timestamp from DAS client", + "key": "require-timestamp", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "das" + ], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "Client", + "details": "DAS client IPv4 address", + "key": "client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "das" + ], + "dataType": { + "default": 0, + "max": 65535, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "VPN of the DAS client", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "das" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "restrictedPassphrase" + }, + "defaultOption": "ignore", + "description": "Secret Key", + "details": "DAS shared secret key", + "key": "secret-key", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "mac-authentication-bypass" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Server", + "details": "Use RADIUS server for authentication based on mac-address", + "key": "server", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "dot1x", + "mac-authentication-bypass" + ], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Authentication Bypass (Maximum entries allowed: 8)", + "details": "Specify list of MAC addresses to allow locally without RADIUS authentication", + "key": "allow", + "maxElements": 8, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 64, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "ID", + "details": "RADIUS attribute ID (1..64)", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Attribute type string", + "details": "Attribute type string", + "key": "string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65536, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Attribute type integer", + "details": "Attribute type integer", + "key": "integer", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Attribute type octet", + "details": "Attribute type octet", + "key": "octet", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "dot1x" + ], + "defaultOption": "ignore", + "description": "Authentication Request Attributes", + "details": "Authentication Request Attributes", + "key": "auth-req-attr", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "id" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "max": 64, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "ID", + "details": "RADIUS attribute ID (1..64)", + "key": "id", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Attribute type string", + "details": "Attribute type string", + "key": "string", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 65536, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "Attribute type integer", + "details": "Attribute type integer", + "key": "integer", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Attribute type octet", + "details": "Attribute type octet", + "key": "octet", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "dot1x" + ], + "defaultOption": "ignore", + "description": "Accounting Request Attributes", + "details": "Accounting Request Attributes", + "key": "acct-req-attr", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "id" + ] + } + ], + "name": "Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge-pppoe-enabled-interface.json b/gen/models/feature_templates/vpn-vedge-pppoe-enabled-interface.json new file mode 100644 index 00000000..f5567846 --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge-pppoe-enabled-interface.json @@ -0,0 +1,817 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface name: ge0/<0-..> or ge0/<0-..>.vlanid or irb or loopback or natpool-<1..31> when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "radioButtonList", + "values": [ + { + "label": "Yes", + "value": "false" + }, + { + "label": "No", + "value": "true" + } + ] + }, + "defaultOption": "ignore", + "description": "IPv6 Enable", + "details": "IPv6 Enable", + "key": "ipv6-shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Power Over Ethernet", + "details": "Configure interface as Power-over-Ethernet source", + "deviceModels": [ + "vedge-100", + "vedge-ISR1100-4GLTE", + "vedge-100-W2", + "vedge-100-WM", + "vedge-100-M2", + "vedge-100-M", + "vedge-ISR1100-4G", + "vedge-ISR1100X-4G" + ], + "key": "poe", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCPv6", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP Rapid Commit", + "details": "Enable DHCPv6 rapid commit", + "key": "dhcp-rapid-commit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "ACL IPv6", + "details": "Apply IPv6 access list", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "ignore", + "description": "DHCP Helper", + "details": "List of DHCP server addresses", + "key": "dhcp-helper", + "maxElements": 8, + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "autoneg", + "type": "enum", + "values": [ + { + "key": "ingress", + "value": "ingress" + }, + { + "key": "egress", + "value": "egress" + }, + { + "key": "autoneg", + "value": "autoneg" + }, + { + "key": "both", + "value": "both" + }, + { + "key": "none", + "value": "none" + } + ] + }, + "defaultOption": "ignore", + "description": "Flow Control", + "details": "Enable flow control", + "key": "flow-control", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>, in bytes", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 7, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Static Ingress QoS", + "details": "Static ingress QoS for the port", + "key": "static-ingress-qos", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1920, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "TLOC Extension", + "details": "Extends a local TLOC to a remote node only for vpn 0", + "key": "tloc-extension", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "label": { + "off": "Disable", + "on": "Enable" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP Redirect", + "details": "Set this option to disable the icmp redirect packets", + "key": "icmp-redirect-disable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1200, + "max": 2678400, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "ARP Timeout", + "details": "Timeout value for dynamically learned ARP entries, <0..2678400> seconds", + "key": "arp-timeout", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 100000000, + "min": 8, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Shaping Rate (Kbps)", + "details": "1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps", + "key": "shaping-rate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "QoS Map", + "details": "Name of QoS map", + "key": "qos-map", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Upstream", + "details": "Interface upstream bandwidth capacity, in kbps", + "key": "bandwidth-upstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 2147483647, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Bandwidth Downstream", + "details": "Interface downstream bandwidth capacity, in kbps", + "key": "bandwidth-downstream", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "rewrite-rule" + ], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Rewrite Rule", + "details": "Name of rewrite rule", + "key": "rule-name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Access list", + "details": "Name of access list", + "key": "acl-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "ACL", + "details": "Apply ACL", + "key": "access-list", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "direction" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "in", + "value": "in" + }, + { + "key": "out", + "value": "out" + } + ] + }, + "defaultOption": "constant", + "description": "Direction", + "details": "Direction", + "key": "direction", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Policer name", + "details": "Name of policer", + "key": "policer-name", + "objectType": "object", + "optionType": [ + "constant" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Policer", + "details": "Enable policer", + "key": "policer", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "policer-name", + "direction" + ] + }, + { + "dataPath": [ + "pppoe-client" + ], + "dataType": { + "type": "string" + }, + "defaultOption": "link-variable", + "description": "PPP Interface", + "details": "PPPoE Client Interface", + "key": "ppp-interface", + "objectType": "object", + "optionType": [ + "link-variable" + ] + } + ], + "name": "Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vedge.json b/gen/models/feature_templates/vpn-vedge.json new file mode 100644 index 00000000..8d8f4c74 --- /dev/null +++ b/gen/models/feature_templates/vpn-vedge.json @@ -0,0 +1,1677 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 65527, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "List of VPN instances", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Name", + "details": "Name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "omp" + ], + "dataType": { + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "OMP Admin Distance IPv4", + "details": "OMP Admin Distance IPv4", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ip" + }, + "defaultOption": "constant", + "description": "DNS Address", + "details": "DNS Address", + "key": "dns-addr", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "primary", + "type": "enum", + "values": [ + { + "key": "primary", + "value": "Primary" + }, + { + "key": "secondary", + "value": "Secondary" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "DNS", + "details": "DNS", + "key": "dns", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "dns-addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "DNS Address", + "details": "DNS Address", + "key": "dns-addr", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "primary", + "type": "enum", + "values": [ + { + "key": "primary", + "value": "Primary" + }, + { + "key": "secondary", + "value": "Secondary" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "DNS", + "details": "DNS", + "key": "dns-ipv6", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "dns-addr" + ] + }, + { + "dataPath": [ + "ecmp-hash-key" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enhance ECMP Keying", + "details": "Optional packet fields for ECMP keying", + "key": "layer4", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Enable TCP Optimization", + "details": "Enable TCP optimization on vpn", + "key": "tcp-optimization", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "dnsHostName" + }, + "defaultOption": "constant", + "description": "Hostname", + "details": "Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 8, + "type": "ip" + }, + "defaultOption": "constant", + "description": "List of IP", + "details": "List of IP", + "key": "ip", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static DNS Mapping", + "details": "Static DNS mapping", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "hostname" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "dnsHostName" + }, + "defaultOption": "constant", + "description": "Hostname", + "details": "Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 8, + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "List of IP", + "details": "List of IP", + "key": "ip", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static DNS Mapping", + "details": "Static DNS mapping", + "key": "host-ipv6", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "hostname" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "FW", + "value": "FW" + }, + { + "key": "IDS", + "value": "IDS" + }, + { + "key": "IDP", + "value": "IDP" + }, + { + "key": "netsvc1", + "value": "netsvc1" + }, + { + "key": "netsvc2", + "value": "netsvc2" + }, + { + "key": "netsvc3", + "value": "netsvc3" + }, + { + "key": "netsvc4", + "value": "netsvc4" + }, + { + "key": "TE", + "value": "TE" + } + ] + }, + "defaultOption": "constant", + "description": "Service Type", + "details": "Service Type", + "key": "svc-type", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IPv4 address", + "details": "List of IPv4 address", + "key": "address", + "maxChildren": "4", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface", + "details": "List of Interfaces", + "key": "interface", + "maxChildren": "2", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Tracking", + "details": "Tracking Service", + "key": "track-enable", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Service", + "details": "Configure services", + "key": "service", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "svc-type" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 0, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Destination VPN to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "sig", + "type": "enum", + "values": [ + { + "key": "FW", + "value": "FW" + }, + { + "key": "IDS", + "value": "IDS" + }, + { + "key": "IDP", + "value": "IDP" + }, + { + "key": "netsvc1", + "value": "netsvc1" + }, + { + "key": "netsvc2", + "value": "netsvc2" + }, + { + "key": "netsvc3", + "value": "netsvc3" + }, + { + "key": "netsvc4", + "value": "netsvc4" + }, + { + "key": "TE", + "value": "TE" + }, + { + "key": "sig", + "value": "SIG" + } + ] + }, + "defaultOption": "notIgnore", + "description": "Service", + "details": "Service", + "key": "service", + "objectType": "object", + "optionType": [ + "constant", + "notIgnore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static Service Route", + "details": "Configure IPv4 Static Service Routes", + "key": "service-route", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "notIgnore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "notIgnore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "Tracker", + "details": "Static route tracker", + "key": "tracker", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "null0", + "details": "null0", + "key": "null0", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "range": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "Destination VPN(!=0 or !=512) to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static Route", + "details": "Configure IPv4 Static Routes", + "key": "route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "null0", + "details": "null0", + "key": "null0", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "range": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "Destination VPN(!=0 or !=512) to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "IPv6 Static Route", + "details": "Configure IPv6 Static Routes", + "key": "route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 0, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Destination VPN to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "string" + }, + "defaultOption": "ignore", + "description": "GRE Interface (Maximum entries allowed: 2)", + "details": "List of GRE Interfaces", + "key": "interface", + "maxChildren": "2", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static GRE Route", + "details": "Configure routes pointing to a GRE tunnel", + "key": "gre-route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "max": 0, + "min": 0, + "type": "number" + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Destination VPN to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "interfaceList" + }, + "defaultOption": "ignore", + "description": "IPSEC Interface (Maximum entries allowed: 2)", + "details": "List of IPSEC Interfaces (Separated by commas)", + "key": "interface", + "maxChildren": "2", + "minChildren": "0", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static IPSEC Route", + "details": "Configure routes pointing to a IPSEC tunnel", + "key": "ipsec-route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "ospf", + "value": "OSPF" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "network", + "value": "Network" + }, + { + "key": "aggregate", + "value": "Aggregate" + }, + { + "key": "eigrp", + "value": "EIGRP" + }, + { + "key": "lisp", + "value": "LISP" + }, + { + "key": "isis", + "value": "ISIS" + } + ] + }, + "defaultOption": "ignore", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "external", + "value": "External" + } + ] + }, + "defaultOption": "ignore", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix-entry", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Aggregate Only", + "details": "Aggregate Only", + "key": "aggregate-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "key": "prefix-list", + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix-entry" + ] + } + ], + "dataPath": [ + "omp" + ], + "defaultOption": "ignore", + "description": "Advertise", + "details": "Advertise routes to OMP", + "key": "advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "bgp", + "value": "BGP" + }, + { + "key": "connected", + "value": "Connected" + }, + { + "key": "static", + "value": "Static" + }, + { + "key": "network", + "value": "Network" + }, + { + "key": "aggregate", + "value": "Aggregate" + } + ] + }, + "defaultOption": "ignore", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "external", + "value": "External" + } + ] + }, + "defaultOption": "ignore", + "key": "protocol-sub-type", + "minElements": 1, + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix-entry", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Aggregate Only", + "details": "Aggregate Only", + "key": "aggregate-only", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "key": "prefix-list", + "minElements": 1, + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix-entry" + ] + } + ], + "dataPath": [ + "omp" + ], + "defaultOption": "ignore", + "description": "Advertise", + "details": "Advertise routes to OMP", + "key": "ipv6-advertise", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "NAT64 Pool name", + "details": "NAT64 Pool name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT 64 v4 Pool Range Start", + "details": "Starting IP address of NAT pool range", + "key": "start-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "NAT 64 v4 Pool Range End", + "details": "Ending IP address of NAT pool range", + "key": "end-address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NAT 64 Overload", + "details": "NAT 64 Overload Option", + "key": "overload", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "nat64", + "v4" + ], + "defaultOption": "ignore", + "description": "NAT64 V4 Pool", + "details": "Set NAT64 v4 pool range", + "key": "pool", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "name" + ] + }, + { + "dataPath": [ + "nat64-global", + "prefix", + "stateful" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "NAT64 IPV6 Prefix", + "details": "NAT64 IPV6 Prefix", + "deviceModels": [ + "vedge-CSR-1000v", + "vedge-IR-1101", + "vedge-IR-1821", + "vedge-IR-1831", + "vedge-IR-1833", + "vedge-IR-1835", + "vedge-IR-8140H", + "vedge-IR-8140H-P", + "vedge-IR-8340", + "vedge-ISR-4331", + "vedge-ASR-1001-X", + "vedge-C1101-4P", + "vedge-C1101-4PLTEP", + "vedge-ISR-4321", + "vedge-ISR-4351", + "vedge-ISR-4221", + "vedge-ISR-4221X", + "vedge-ISR-4431", + "vedge-ISR-4451-X", + "vedge-ASR-1001-HX", + "vedge-ASR-1002-X", + "vedge-ASR-1002-HX", + "vedge-ASR-1006-X", + "vedge-C1111-8P", + "vedge-C1121X-8P", + "vedge-C1111X-8P", + "vedge-C1111-8PLTEEA", + "vedge-C1121-8PLTEPW", + "vedge-C1111-8PLTELAW", + "vedge-C1111-8PLTELA", + "vedge-C1117-4PLTEEA", + "vedge-C1127X-8PLTEP", + "vedge-C1126X-8PLTEP", + "vedge-C1127X-8PMLTEP", + "vedge-C1127-8PMLTEP", + "vedge-C1117-4PLTELA", + "vedge-ISRv", + "vedge-C8000V", + "vedge-C1111-4P", + "vedge-C1111-8PW", + "vedge-C1111-8PLTEEAW", + "vedge-C1111-4PLTEEA", + "vedge-C1101-4PLTEPW", + "vedge-C1109-4PLTE2PW", + "vedge-C1109-4PLTE2P", + "vedge-C1121X-8PLTEP", + "vedge-C1161X-8PLTEP", + "vedge-C1113-8PMLTEEA", + "vedge-C1111-4PLTELA", + "vedge-C1116-4P", + "vedge-C1116-4PLTEEA", + "vedge-C1117-4P", + "vedge-C1117-4PM", + "vedge-C1117-4PMLTEEA", + "vedge-ISR-4461", + "vedge-C8300-1N1S-4T2X", + "vedge-C8300-1N1S-6T", + "vedge-C8300-2N2S-6T", + "vedge-C8300-2N2S-4T2X", + "vedge-C8200-1N-4T", + "vedge-C8200L-1N-4T", + "vedge-C1161X-8P", + "vedge-C8500L-8S4X", + "vedge-C1161-8P", + "vedge-C1126-8PLTEP", + "vedge-C1127-8PLTEP", + "vedge-C1121-4P", + "vedge-C1121-4PLTEP", + "vedge-C1128-8PLTEP", + "vedge-C1121X-8PLTEPW", + "vedge-C1131-8PW", + "vedge-C1131X-8PW", + "vedge-C1131-8PLTEPW", + "vedge-C1131X-8PLTEPW", + "vedge-C1121-8PLTEP", + "vedge-C1113-8PLTEEA", + "vedge-C1113-8PLTEW", + "vedge-C1109-2PLTEGB", + "vedge-C1109-2PLTEUS", + "vedge-C1109-2PLTEVZ" + ], + "key": "ipv6-prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Route Protocol to leak from Global to Service", + "details": "Select a Route Protocol to enable route leaking from Global VPN to this Service VPN", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "ignore", + "description": "Route Policy to leak from Global to Service", + "details": "Select a Route Policy to enable route leaking from Global VPN to this Service VPN", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Enable route leaking from Global VPN", + "details": "Enable route leaking from Global VPN to this Service VPN", + "key": "route-import", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Route Protocol to leak from Service to Global", + "details": "Select a Route Protocol to enable route leaking from this Service VPN to Global VPN", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "ignore", + "description": "Route Policy to leak from Service to Global", + "details": "Select a Route Policy to enable route leaking from this Service VPN to Global VPN", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Enable route leaking to Global VPN", + "details": "Enable route leaking to Global VPN from this Service VPN", + "key": "route-export", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "protocol" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 65530, + "min": 1, + "type": "number" + }, + "defaultOption": "constant", + "description": "Source VPN", + "details": "Select a Source VPN where route leaks from", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "static", + "value": "static" + }, + { + "key": "connected", + "value": "connected" + }, + { + "key": "bgp", + "value": "bgp" + }, + { + "key": "ospf", + "value": "ospf" + } + ] + }, + "defaultOption": "constant", + "description": "Route Protocol Leak to Current VPN", + "details": "Select a Route Protocol to enable route leaking to current VPN", + "key": "protocol", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "", + "type": "enum", + "values": [ + { + "key": "", + "value": "" + } + ] + }, + "defaultOption": "ignore", + "description": "Route Policy Leak to Current VPN", + "details": "Select a Route Policy to enable route leaking to current VPN", + "key": "route-policy", + "objectType": "object", + "optionType": [ + "constant", + "ignore", + "variable" + ] + } + ], + "dataPath": [ + "route-import-service" + ], + "defaultOption": "ignore", + "description": "Enable route import from service vpn", + "details": "Enable route import from service vpn", + "key": "from", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "vpn", + "protocol" + ] + } + ], + "name": "VPN", + "nameSpace": "http://viptela.com/vpn", + "uniqueKey": "vpn-id", + "xmlPath": [ + "vpn" + ], + "xmlRootTag": "vpn-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vmanage-interface.json b/gen/models/feature_templates/vpn-vmanage-interface.json new file mode 100644 index 00000000..48d3f501 --- /dev/null +++ b/gen/models/feature_templates/vpn-vmanage-interface.json @@ -0,0 +1,919 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface name on vSmart: eth<0-..> or eth<0-..>.vlanid or loopback when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP Rapid Commit", + "details": "Enable DHCPv6 rapid commit", + "key": "dhcp-rapid-commit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Low-Bandwidth Link", + "details": "Set the interface as a low-bandwidth circuit", + "key": "low-bandwidth-link", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 50, + "max": 512, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Connections Limit", + "details": "Limit the number of https connections <1..512>", + "key": "connections-limit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Nat Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..6000> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "HTTPS", + "details": "Allow/Deny HTTPS", + "key": "https", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "autoneg", + "type": "enum", + "values": [ + { + "key": "ingress", + "value": "ingress" + }, + { + "key": "egress", + "value": "egress" + }, + { + "key": "autoneg", + "value": "autoneg" + }, + { + "key": "both", + "value": "both" + }, + { + "key": "none", + "value": "none" + } + ] + }, + "defaultOption": "ignore", + "description": "Flow Control", + "details": "Enable flow control", + "key": "flow-control", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + } + ], + "name": "Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vsmart-interface.json b/gen/models/feature_templates/vpn-vsmart-interface.json new file mode 100644 index 00000000..29ef10bf --- /dev/null +++ b/gen/models/feature_templates/vpn-vsmart-interface.json @@ -0,0 +1,859 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Interface Name", + "details": "Interface name on vSmart: eth<0-..> or eth<0-..>.vlanid or loopback when present", + "key": "if-name", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Description", + "details": "Interface description", + "key": "description", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "ignore", + "description": "IPv4 Address", + "details": "Assign IPv4 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ip" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "ignore", + "description": "IPv6 Address", + "details": "Assign IPv6 address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Enable DHCP", + "key": "dhcp-client", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": 1, + "max": 65536, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "DHCP Distance", + "details": "Set administrative distance for DHCP default route", + "key": "dhcp-distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "ipv6" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP Rapid Commit", + "details": "Enable DHCPv6 rapid commit", + "key": "dhcp-rapid-commit", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "max": 4294967295, + "min": 0, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Groups", + "details": "List of groups", + "key": "group", + "objectType": "list", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "color" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "mpls", + "value": "mpls" + }, + { + "key": "metro-ethernet", + "value": "metro-ethernet" + }, + { + "key": "biz-internet", + "value": "biz-internet" + }, + { + "key": "public-internet", + "value": "public-internet" + }, + { + "key": "lte", + "value": "lte" + }, + { + "key": "3g", + "value": "3g" + }, + { + "key": "red", + "value": "red" + }, + { + "key": "green", + "value": "green" + }, + { + "key": "blue", + "value": "blue" + }, + { + "key": "gold", + "value": "gold" + }, + { + "key": "silver", + "value": "silver" + }, + { + "key": "bronze", + "value": "bronze" + }, + { + "key": "custom1", + "value": "custom1" + }, + { + "key": "custom2", + "value": "custom2" + }, + { + "key": "custom3", + "value": "custom3" + }, + { + "key": "private1", + "value": "private1" + }, + { + "key": "private2", + "value": "private2" + }, + { + "key": "private3", + "value": "private3" + }, + { + "key": "private4", + "value": "private4" + }, + { + "key": "private5", + "value": "private5" + }, + { + "key": "private6", + "value": "private6" + } + ] + }, + "defaultOption": "ignore", + "description": "Color", + "details": "Set color for TLOC", + "key": "value", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": "default", + "type": "enum", + "values": [ + { + "key": "default", + "value": "default" + }, + { + "key": "carrier1", + "value": "carrier1" + }, + { + "key": "carrier2", + "value": "carrier2" + }, + { + "key": "carrier3", + "value": "carrier3" + }, + { + "key": "carrier4", + "value": "carrier4" + }, + { + "key": "carrier5", + "value": "carrier5" + }, + { + "key": "carrier6", + "value": "carrier6" + }, + { + "key": "carrier7", + "value": "carrier7" + }, + { + "key": "carrier8", + "value": "carrier8" + } + ] + }, + "defaultOption": "ignore", + "description": "Carrier", + "details": "Set carrier for TLOC", + "key": "carrier", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 5, + "max": 60, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Nat Refresh Interval", + "details": "Set time period of nat refresh packets <1...60> seconds", + "key": "nat-refresh-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 1000, + "max": 600000, + "min": 100, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Interval", + "details": "Set time period of control hello packets <100..600000> milli seconds", + "key": "hello-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface" + ], + "dataType": { + "default": 12, + "max": 6000, + "min": 12, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Hello Tolerance", + "details": "Set tolerance of control hello packets <12..60> seconds", + "key": "hello-tolerance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "All", + "details": "Allow all traffic. Overrides all other allow-service options if allow-service all is set", + "key": "all", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DHCP", + "details": "Allow/Deny DHCP", + "key": "dhcp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "DNS", + "details": "Allow/Deny DNS", + "key": "dns", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "ICMP", + "details": "Allow/Deny ICMP", + "key": "icmp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "SSH", + "details": "Allow/Deny SSH", + "key": "sshd", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NETCONF", + "details": "Allow/Deny NETCONF", + "key": "netconf", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "NTP", + "details": "Allow/Deny NTP", + "key": "ntp", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [ + "tunnel-interface", + "allow-service" + ], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "STUN", + "details": "Allow/Deny STUN", + "key": "stun", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "autoneg", + "type": "enum", + "values": [ + { + "key": "ingress", + "value": "ingress" + }, + { + "key": "egress", + "value": "egress" + }, + { + "key": "autoneg", + "value": "autoneg" + }, + { + "key": "both", + "value": "both" + }, + { + "key": "none", + "value": "none" + } + ] + }, + "defaultOption": "ignore", + "description": "Flow Control", + "details": "Enable flow control", + "key": "flow-control", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Clear-Dont-Fragment", + "details": "Clear don't fragment bit", + "key": "clear-dont-fragment", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Autonegotiation", + "details": "Link autonegotiation", + "key": "autonegotiate", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "PMTU Discovery", + "details": "Path MTU Discovery", + "key": "pmtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1500, + "max": 2000, + "min": 576, + "type": "number" + }, + "defaultOption": "ignore", + "description": "IP MTU", + "details": "Interface MTU <576..2000>", + "key": "mtu", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 1960, + "min": 552, + "type": "number" + }, + "defaultOption": "ignore", + "description": "TCP MSS", + "details": "TCP MSS on SYN packets, in bytes", + "key": "tcp-mss-adjust", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "ignore", + "description": "MAC Address", + "details": "Set MAC-layer address", + "key": "mac-address", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "10", + "value": "10" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "1000", + "value": "1000" + } + ] + }, + "defaultOption": "ignore", + "description": "Speed", + "details": "Set interface speed", + "key": "speed", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "full", + "value": "full" + }, + { + "key": "half", + "value": "half" + } + ] + }, + "defaultOption": "ignore", + "description": "Duplex", + "details": "Duplex mode", + "key": "duplex", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "true", + "label": { + "off": "No", + "on": "Yes" + }, + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "Shutdown", + "details": "Administrative state", + "key": "shutdown", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "IP Address", + "details": "IP Address", + "key": "addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "mac" + }, + "defaultOption": "constant", + "description": "MAC Address", + "details": "MAC address", + "key": "mac", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [ + "arp" + ], + "defaultOption": "ignore", + "description": "Static ARP", + "details": "Configure static ARP entries", + "key": "ip", + "objectType": "tree", + "optionType": [ + "constant", + "ignore" + ], + "primaryKeys": [ + "addr" + ] + } + ], + "name": "Interface", + "nameSpace": "http://viptela.com/vpn", + "parentPath": "", + "uniqueKey": "if-name", + "xmlPath": [], + "xmlRootTag": "interface" +} \ No newline at end of file diff --git a/gen/models/feature_templates/vpn-vsmart.json b/gen/models/feature_templates/vpn-vsmart.json new file mode 100644 index 00000000..3fbd1ae9 --- /dev/null +++ b/gen/models/feature_templates/vpn-vsmart.json @@ -0,0 +1,445 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "0", + "value": "VPN 0" + }, + { + "key": "512", + "value": "VPN 512" + } + ] + }, + "defaultOption": "constant", + "description": "VPN", + "details": "Only 0 and 512 are allowed on vsmart", + "key": "vpn-id", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "defaultOption": "ignore", + "description": "Name", + "details": "Name", + "key": "name", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "DNS Address", + "details": "DNS Address", + "key": "dns-addr", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "key": "primary", + "value": "Primary" + }, + { + "key": "secondary", + "value": "Secondary" + } + ] + }, + "defaultOption": "ignore", + "description": "Role", + "details": "Role", + "key": "role", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "DNS", + "details": "DNS", + "key": "dns", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "dns-addr" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "defaultOption": "constant", + "description": "Hostname", + "details": "Hostname", + "key": "hostname", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "max": 8, + "type": "ip" + }, + "defaultOption": "constant", + "description": "List of IP", + "details": "Role", + "key": "ip", + "objectType": "list", + "optionType": [ + "constant", + "variable" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "Static DNS mapping", + "details": "Static DNS mapping", + "key": "host", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "hostname" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv4" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "null0", + "details": "null0", + "key": "null0", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "range": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "Destination VPN(!=0 or !=512) to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ip" + ], + "defaultOption": "ignore", + "description": "IPv4 Static Route", + "details": "Configure IPv4 Static Routes", + "key": "route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6-prefix" + }, + "defaultOption": "constant", + "description": "Prefix", + "details": "Prefix", + "key": "prefix", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "children": [ + { + "dataPath": [], + "dataType": { + "type": "ipv6" + }, + "defaultOption": "constant", + "description": "Address", + "details": "IP Address", + "key": "address", + "objectType": "object", + "optionType": [ + "constant", + "variable" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [], + "defaultOption": "ignore", + "description": "IP Gateway", + "details": "IP gateway address", + "key": "next-hop", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "address" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "false", + "type": "boolean" + }, + "defaultOption": "ignore", + "description": "null0", + "details": "null0", + "key": "null0", + "objectType": "node-only", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 1, + "max": 255, + "min": 1, + "type": "number" + }, + "defaultOption": "ignore", + "description": "Distance", + "details": "Administrative distance", + "key": "distance", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": 0, + "range": "0", + "type": "number" + }, + "defaultOption": "ignore", + "description": "VPN", + "details": "Destination VPN(!=0 or !=512) to resolve the prefix", + "key": "vpn", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + } + ], + "dataPath": [ + "ipv6" + ], + "defaultOption": "ignore", + "description": "IPv6 Static Route", + "details": "Configure IPv6 Static Routes", + "key": "route", + "objectType": "tree", + "optionType": [ + "constant", + "variable", + "ignore" + ], + "primaryKeys": [ + "prefix" + ] + } + ], + "name": "VPN", + "nameSpace": "http://viptela.com/vpn", + "uniqueKey": "vpn-id", + "xmlPath": [ + "vpn" + ], + "xmlRootTag": "vpn-instance" +} \ No newline at end of file diff --git a/gen/models/feature_templates/wlan.json b/gen/models/feature_templates/wlan.json new file mode 100644 index 00000000..6b5f4bcb --- /dev/null +++ b/gen/models/feature_templates/wlan.json @@ -0,0 +1,571 @@ +{ + "fields": [ + { + "dataPath": [], + "dataType": { + "type": "boolean", + "values": [ + { + "key": "2.4GHz", + "value": "2.4 GHz" + }, + { + "key": "5GHz", + "value": "5 Hz" + } + ] + }, + "defaultOption": "constant", + "description": "Select Radio", + "details": "Radio band", + "key": "radio", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "type": "enum", + "values": [ + { + "group": "FCC3_WORLD", + "key": "Australia", + "value": "Australia" + }, + { + "group": "ETSI1_WORLD", + "key": "Austria", + "value": "Austria" + }, + { + "group": "ETSI1_WORLD", + "key": "Belgium", + "value": "Belgium" + }, + { + "group": "FCC3_WORLD", + "key": "Brazil", + "value": "Brazil" + }, + { + "group": "ETSI1_WORLD", + "key": "Bulgaria", + "value": "Bulgaria" + }, + { + "group": "FCC3_FCCA", + "key": "Canada", + "value": "Canada" + }, + { + "group": "FCC2_WORLD", + "key": "China", + "value": "China" + }, + { + "group": "FCC3_WORLD", + "key": "Costa Rica", + "value": "Costa Rica" + }, + { + "group": "ETSI1_WORLD", + "key": "Croatia", + "value": "Croatia" + }, + { + "group": "ETSI1_WORLD", + "key": "Cyprus", + "value": "Cyprus" + }, + { + "group": "ETSI1_WORLD", + "key": "Czech Republic", + "value": "Czech Republic" + }, + { + "group": "ETSI1_WORLD", + "key": "Denmark", + "value": "Denmark" + }, + { + "group": "ETSI1_WORLD", + "key": "Estonia", + "value": "Estonia" + }, + { + "group": "ETSI1_WORLD", + "key": "Finland", + "value": "Finland" + }, + { + "group": "ETSI1_WORLD", + "key": "France", + "value": "France" + }, + { + "group": "ETSI1_WORLD", + "key": "Germany", + "value": "Germany" + }, + { + "group": "ETSI1_WORLD", + "key": "Greece", + "value": "Greece" + }, + { + "group": "FCC3_WORLD", + "key": "Hong Kong", + "value": "Hong Kong" + }, + { + "group": "ETSI1_WORLD", + "key": "Hungary", + "value": "Hungary" + }, + { + "group": "ETSI1_WORLD", + "key": "Iceland", + "value": "Iceland" + }, + { + "group": "APL6_WORLD", + "key": "India", + "value": "India" + }, + { + "group": "APL2_WORLD", + "key": "Indonesia", + "value": "Indonesia" + }, + { + "group": "ETSI1_WORLD", + "key": "Ireland", + "value": "Ireland" + }, + { + "group": "ETSI1_WORLD", + "key": "Italy", + "value": "Italy" + }, + { + "group": "MKK1_MKKA", + "key": "Japan", + "value": "Japan" + }, + { + "group": "ETSI1_WORLD", + "key": "Latvia", + "value": "Latvia" + }, + { + "group": "ETSI1_WORLD", + "key": "Liechtenstein", + "value": "Liechtenstein" + }, + { + "group": "ETSI1_WORLD", + "key": "Lithuania", + "value": "Lithuania" + }, + { + "group": "ETSI1_WORLD", + "key": "Luxembourg", + "value": "Luxembourg" + }, + { + "group": "FCC1_WORLD", + "key": "Malaysia", + "value": "Malaysia" + }, + { + "group": "ETSI1_WORLD", + "key": "Malta", + "value": "Malta" + }, + { + "group": "FCC3_WORLD", + "key": "Mexico", + "value": "Mexico" + }, + { + "group": "ETSI1_WORLD", + "key": "Netherlands", + "value": "Netherlands" + }, + { + "group": "FCC3_ETSIC", + "key": "New Zealand", + "value": "New Zealand" + }, + { + "group": "ETSI1_WORLD", + "key": "Norway", + "value": "Norway" + }, + { + "group": "APL1_WORLD", + "key": "Pakistan", + "value": "Pakistan" + }, + { + "group": "FCC1_FCCA", + "key": "Panama", + "value": "Panama" + }, + { + "group": "FCC3_WORLD", + "key": "Philippines", + "value": "Philippines" + }, + { + "group": "ETSI1_WORLD", + "key": "Poland", + "value": "Poland" + }, + { + "group": "ETSI1_WORLD", + "key": "Portugal", + "value": "Portugal" + }, + { + "group": "FCC3_FCCA", + "key": "Puerto Rico", + "value": "Puerto Rico" + }, + { + "group": "ETSI1_WORLD", + "key": "Romania", + "value": "Romania" + }, + { + "group": "ETSI1_WORLD", + "key": "Saudi Arabia", + "value": "Saudi Arabia" + }, + { + "group": "ETSI1_WORLD", + "key": "Slovakia", + "value": "Slovakia" + }, + { + "group": "ETSI1_WORLD", + "key": "Slovenia", + "value": "Slovenia" + }, + { + "group": "ETSI1_WORLD", + "key": "South Africa", + "value": "South Africa" + }, + { + "group": "APL9_WORLD", + "key": "South Korea", + "value": "South Korea" + }, + { + "group": "ETSI1_WORLD", + "key": "Spain", + "value": "Spain" + }, + { + "group": "FCC3_WORLD", + "key": "Sri Lanka", + "value": "Sri Lanka" + }, + { + "group": "ETSI1_WORLD", + "key": "Sweden", + "value": "Sweden" + }, + { + "group": "ETSI1_WORLD", + "key": "Switzerland", + "value": "Switzerland" + }, + { + "group": "APL7_FCCA", + "key": "Taiwan", + "value": "Taiwan" + }, + { + "group": "FCC3_WORLD", + "key": "Thailand", + "value": "Thailand" + }, + { + "group": "ETSI1_WORLD", + "key": "Turkey", + "value": "Turkey" + }, + { + "group": "ETSI1_WORLD", + "key": "United Kingdom", + "value": "United Kingdom" + }, + { + "group": "FCC8_FCCA", + "key": "United States", + "value": "United States" + }, + { + "group": "FCC3_WORLD", + "key": "Vietnam", + "value": "Vietnam" + } + ] + }, + "defaultOption": "constant", + "description": "Country", + "details": "Country of installation", + "key": "country", + "objectType": "object", + "optionType": [ + "constant" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "20", + "type": "enum", + "values": [ + { + "key": "20", + "value": "20 MHz" + }, + { + "key": "40", + "value": "40 MHz" + }, + { + "key": "80", + "value": "80 MHz" + } + ] + }, + "defaultOption": "ignore", + "description": "Channel Bandwidth", + "details": "Channel Bandwidth", + "key": "channel-bandwidth", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "800", + "type": "enum", + "values": [ + { + "key": "400", + "value": "400 ns" + }, + { + "key": "800", + "value": "800 ns" + } + ] + }, + "defaultOption": "ignore", + "description": "Guard Interval", + "details": "Guard Interval", + "key": "guard-interval", + "objectType": "object", + "optionType": [ + "constant", + "variable", + "ignore" + ] + }, + { + "dataPath": [], + "dataType": { + "default": "auto", + "type": "enum", + "values": [ + { + "key": "auto", + "value": "Auto" + }, + { + "key": "auto-no-dfs", + "value": "Auto-No-Dfs" + }, + { + "key": "1", + "value": "1" + }, + { + "key": "2", + "value": "2" + }, + { + "key": "3", + "value": "3" + }, + { + "key": "4", + "value": "4" + }, + { + "key": "5", + "value": "5" + }, + { + "key": "6", + "value": "6" + }, + { + "key": "7", + "value": "7" + }, + { + "key": "8", + "value": "8" + }, + { + "key": "9", + "value": "9" + }, + { + "key": "10", + "value": "10" + }, + { + "key": "11", + "value": "11" + }, + { + "key": "12", + "value": "12" + }, + { + "key": "13", + "value": "13" + }, + { + "key": "36", + "value": "36" + }, + { + "key": "40", + "value": "40" + }, + { + "key": "44", + "value": "44" + }, + { + "key": "48", + "value": "48" + }, + { + "key": "52", + "value": "52" + }, + { + "key": "56", + "value": "56" + }, + { + "key": "60", + "value": "60" + }, + { + "key": "64", + "value": "64" + }, + { + "key": "100", + "value": "100" + }, + { + "key": "104", + "value": "104" + }, + { + "key": "108", + "value": "108" + }, + { + "key": "112", + "value": "112" + }, + { + "key": "116", + "value": "116" + }, + { + "key": "120", + "value": "120" + }, + { + "key": "124", + "value": "124" + }, + { + "key": "128", + "value": "128" + }, + { + "key": "132", + "value": "132" + }, + { + "key": "136", + "value": "136" + }, + { + "key": "140", + "value": "140" + }, + { + "key": "144", + "value": "144" + }, + { + "key": "149", + "value": "149" + }, + { + "key": "153", + "value": "153" + }, + { + "key": "157", + "value": "157" + }, + { + "key": "161", + "value": "161" + }, + { + "key": "165", + "value": "165" + } + ] + }, + "defaultOption": "ignore", + "description": "Channel", + "details": "Radio Channel", + "key": "channel", + "objectType": "object", + "optionType": [ + "constant", + "ignore" + ] + } + ], + "name": "WLAN", + "nameSpace": "http://viptela.com/wlan", + "xmlPath": [ + "wlan" + ], + "xmlRootTag": "wlan-instance" +} \ No newline at end of file