cisco_node_utils 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/CHANGELOG.md +126 -1
- data/README.md +19 -12
- data/Rakefile +1 -0
- data/bin/git/hooks/commit-msg/enforce_style +8 -0
- data/cisco_node_utils.gemspec +4 -3
- data/docs/README-develop-best-practices.md +127 -109
- data/docs/README-develop-node-utils-APIs.md +47 -39
- data/docs/template-router.rb +3 -7
- data/lib/.rubocop.yml +4 -4
- data/lib/cisco_node_utils.rb +1 -1
- data/lib/cisco_node_utils/aaa_authentication_login.rb +96 -0
- data/lib/cisco_node_utils/aaa_authentication_login_service.rb +133 -0
- data/lib/cisco_node_utils/aaa_authorization_service.rb +150 -0
- data/lib/cisco_node_utils/ace.rb +196 -0
- data/lib/cisco_node_utils/acl.rb +100 -0
- data/lib/cisco_node_utils/bgp.rb +301 -163
- data/lib/cisco_node_utils/bgp_af.rb +187 -19
- data/lib/cisco_node_utils/bgp_neighbor.rb +18 -33
- data/lib/cisco_node_utils/bgp_neighbor_af.rb +25 -48
- data/lib/cisco_node_utils/cisco_cmn_utils.rb +23 -4
- data/lib/cisco_node_utils/cmd_ref/README_YAML.md +593 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml +22 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml +31 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +22 -0
- data/lib/cisco_node_utils/cmd_ref/acl.yaml +43 -0
- data/lib/cisco_node_utils/cmd_ref/bgp.yaml +242 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +164 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +131 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +179 -0
- data/lib/cisco_node_utils/cmd_ref/dnsclient.yaml +34 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_vni.yaml +42 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +172 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +35 -0
- data/lib/cisco_node_utils/cmd_ref/feature.yaml +42 -0
- data/lib/cisco_node_utils/cmd_ref/fex.yaml +9 -0
- data/lib/cisco_node_utils/cmd_ref/images.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/interface.yaml +339 -0
- data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +28 -0
- data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +61 -0
- data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +54 -0
- data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +32 -0
- data/lib/cisco_node_utils/cmd_ref/inventory.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/memory.yaml +13 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_config.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_server.yaml +14 -0
- data/lib/cisco_node_utils/cmd_ref/ospf.yaml +74 -0
- data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +33 -0
- data/lib/cisco_node_utils/cmd_ref/pim.yaml +40 -0
- data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +69 -0
- data/lib/cisco_node_utils/cmd_ref/radius_global.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/radius_server.yaml +64 -0
- data/lib/cisco_node_utils/cmd_ref/radius_server_group.yaml +14 -0
- data/lib/cisco_node_utils/cmd_ref/show_system.yaml +5 -0
- data/lib/cisco_node_utils/cmd_ref/show_version.yaml +72 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +23 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_group.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +50 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +51 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +55 -0
- data/lib/cisco_node_utils/cmd_ref/snmpnotification.yaml +11 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +18 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/system.yaml +6 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +49 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_group.yaml +33 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +35 -0
- data/lib/cisco_node_utils/cmd_ref/vdc.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +6 -0
- data/lib/cisco_node_utils/cmd_ref/vlan.yaml +56 -0
- data/lib/cisco_node_utils/cmd_ref/vni.yaml +76 -0
- data/lib/cisco_node_utils/cmd_ref/vpc.yaml +197 -0
- data/lib/cisco_node_utils/cmd_ref/vrf.yaml +88 -0
- data/lib/cisco_node_utils/cmd_ref/vtp.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +60 -0
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +39 -0
- data/lib/cisco_node_utils/cmd_ref/yum.yaml +13 -0
- data/lib/cisco_node_utils/command_reference.rb +359 -187
- data/lib/cisco_node_utils/configparser_lib.rb +1 -1
- data/lib/cisco_node_utils/dns_domain.rb +19 -5
- data/lib/cisco_node_utils/domain_name.rb +4 -8
- data/lib/cisco_node_utils/evpn_vni.rb +157 -0
- data/lib/cisco_node_utils/fabricpath_global.rb +388 -0
- data/lib/cisco_node_utils/fabricpath_topology.rb +150 -0
- data/lib/cisco_node_utils/feature.rb +111 -0
- data/lib/cisco_node_utils/interface.rb +390 -97
- data/lib/cisco_node_utils/interface_channel_group.rb +124 -0
- data/lib/cisco_node_utils/interface_ospf.rb +11 -34
- data/lib/cisco_node_utils/interface_portchannel.rb +157 -0
- data/lib/cisco_node_utils/interface_service_vni.rb +132 -0
- data/lib/cisco_node_utils/name_server.rb +1 -1
- data/lib/cisco_node_utils/node.rb +55 -249
- data/lib/cisco_node_utils/node_util.rb +5 -1
- data/lib/cisco_node_utils/ntp_config.rb +2 -2
- data/lib/cisco_node_utils/ntp_server.rb +14 -5
- data/lib/cisco_node_utils/overlay_global.rb +153 -0
- data/lib/cisco_node_utils/pim.rb +124 -0
- data/lib/cisco_node_utils/pim_group_list.rb +108 -0
- data/lib/cisco_node_utils/pim_rp_address.rb +102 -0
- data/lib/cisco_node_utils/platform.rb +8 -9
- data/lib/cisco_node_utils/portchannel_global.rb +277 -0
- data/lib/cisco_node_utils/radius_global.rb +9 -19
- data/lib/cisco_node_utils/radius_server.rb +31 -41
- data/lib/cisco_node_utils/radius_server_group.rb +117 -0
- data/lib/cisco_node_utils/router_ospf.rb +1 -1
- data/lib/cisco_node_utils/router_ospf_vrf.rb +14 -19
- data/lib/cisco_node_utils/snmp_notification_receiver.rb +158 -0
- data/lib/cisco_node_utils/snmpcommunity.rb +3 -5
- data/lib/cisco_node_utils/snmpgroup.rb +1 -1
- data/lib/cisco_node_utils/snmpnotification.rb +57 -0
- data/lib/cisco_node_utils/snmpserver.rb +8 -17
- data/lib/cisco_node_utils/snmpuser.rb +67 -28
- data/lib/cisco_node_utils/syslog_server.rb +3 -9
- data/lib/cisco_node_utils/syslog_settings.rb +2 -10
- data/lib/cisco_node_utils/tacacs_server.rb +9 -14
- data/lib/cisco_node_utils/tacacs_server_group.rb +145 -0
- data/lib/cisco_node_utils/tacacs_server_host.rb +5 -9
- data/lib/cisco_node_utils/vdc.rb +88 -0
- data/lib/cisco_node_utils/version.rb +5 -2
- data/lib/cisco_node_utils/vlan.rb +71 -8
- data/lib/cisco_node_utils/vni.rb +227 -0
- data/lib/cisco_node_utils/vpc.rb +377 -0
- data/lib/cisco_node_utils/vrf.rb +60 -9
- data/lib/cisco_node_utils/vrf_af.rb +191 -0
- data/lib/cisco_node_utils/vtp.rb +8 -6
- data/lib/cisco_node_utils/vxlan_vtep.rb +151 -0
- data/lib/cisco_node_utils/vxlan_vtep_vni.rb +234 -0
- data/lib/cisco_node_utils/yum.rb +1 -1
- data/tests/.rubocop.yml +1 -1
- data/tests/basetest.rb +16 -7
- data/tests/ciscotest.rb +55 -13
- data/tests/cmd_config.yaml +2 -2
- data/tests/platform_info.rb +3 -2
- data/tests/test_aaa_authentication_login.rb +219 -0
- data/tests/test_aaa_authentication_login_service.rb +759 -0
- data/tests/test_aaa_authorization_service.rb +1041 -0
- data/tests/test_ace.rb +160 -0
- data/tests/test_acl.rb +176 -0
- data/tests/test_bgp_af.rb +269 -13
- data/tests/test_bgp_neighbor.rb +38 -40
- data/tests/test_bgp_neighbor_af.rb +92 -32
- data/tests/test_command_config.rb +5 -5
- data/tests/test_command_reference.rb +284 -101
- data/tests/test_dns_domain.rb +1 -1
- data/tests/test_domain_name.rb +1 -1
- data/tests/test_evpn_vni.rb +106 -0
- data/tests/test_fabricpath_global.rb +243 -0
- data/tests/test_fabricpath_topology.rb +98 -0
- data/tests/test_interface.rb +292 -74
- data/tests/test_interface_channel_group.rb +74 -0
- data/tests/test_interface_ospf.rb +9 -4
- data/tests/test_interface_portchannel.rb +105 -0
- data/tests/test_interface_service_vni.rb +232 -0
- data/tests/test_interface_svi.rb +77 -62
- data/tests/test_interface_switchport.rb +17 -5
- data/tests/test_name_server.rb +1 -1
- data/tests/test_node.rb +1 -1
- data/tests/test_node_ext.rb +10 -20
- data/tests/test_ntp_config.rb +1 -1
- data/tests/test_ntp_server.rb +18 -6
- data/tests/test_overlay_global.rb +102 -0
- data/tests/test_pim.rb +177 -0
- data/tests/test_pim_group_list.rb +181 -0
- data/tests/test_pim_rp_address.rb +153 -0
- data/tests/test_platform.rb +3 -3
- data/tests/test_portchannel_global.rb +202 -0
- data/tests/test_radius_global.rb +1 -1
- data/tests/test_radius_server.rb +92 -57
- data/tests/test_radius_server_group.rb +149 -0
- data/tests/test_router_bgp.rb +283 -112
- data/tests/test_router_ospf.rb +2 -2
- data/tests/test_router_ospf_vrf.rb +4 -4
- data/tests/test_snmp_notification_receiver.rb +167 -0
- data/tests/test_snmpcommunity.rb +1 -1
- data/tests/test_snmpgroup.rb +1 -1
- data/tests/test_snmpnotification.rb +72 -0
- data/tests/test_snmpserver.rb +29 -105
- data/tests/test_snmpuser.rb +32 -30
- data/tests/test_syslog_server.rb +36 -10
- data/tests/test_syslog_settings.rb +1 -1
- data/tests/test_tacacs_server.rb +1 -1
- data/tests/test_tacacs_server_group.rb +405 -0
- data/tests/test_tacacs_server_host.rb +1 -1
- data/tests/test_vdc.rb +78 -0
- data/tests/test_vlan.rb +74 -19
- data/tests/test_vlan_mt_full.rb +95 -0
- data/tests/test_vni.rb +106 -0
- data/tests/test_vpc.rb +361 -0
- data/tests/test_vrf.rb +172 -29
- data/tests/test_vtp.rb +1 -1
- data/tests/test_vxlan_vtep.rb +214 -0
- data/tests/test_vxlan_vtep_vni.rb +201 -0
- data/tests/test_yum.rb +1 -1
- metadata +120 -11
- data/lib/cisco_node_utils/README_YAML.md +0 -325
- data/lib/cisco_node_utils/command_reference_common.yaml +0 -1051
- data/lib/cisco_node_utils/command_reference_common_bgp.yaml +0 -535
- data/lib/cisco_node_utils/command_reference_n3064.yaml +0 -13
- data/lib/cisco_node_utils/command_reference_n7k.yaml +0 -52
- data/lib/cisco_node_utils/command_reference_n9k.yaml +0 -26
- data/tests/platform_info.yaml +0 -10
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# tacacs_server_group
|
|
2
|
+
---
|
|
3
|
+
deadtime:
|
|
4
|
+
config_get: "show run tacacs all"
|
|
5
|
+
config_get_token: ['/^aaa group server tacacs\+ %s/', '/^deadtime (\d+)/']
|
|
6
|
+
config_set: ["aaa group server tacacs <name>", "<state> deadtime <deadtime>"]
|
|
7
|
+
default_value: 0
|
|
8
|
+
|
|
9
|
+
group:
|
|
10
|
+
multiple: true
|
|
11
|
+
config_get: "show running-config tacacs all"
|
|
12
|
+
config_get_token: '/^aaa group server tacacs\+ (\S+)/'
|
|
13
|
+
config_set: '<state> aaa group server tacacs <name>'
|
|
14
|
+
default_value: []
|
|
15
|
+
|
|
16
|
+
servers:
|
|
17
|
+
multiple: true
|
|
18
|
+
config_get: "show running-config tacacs all"
|
|
19
|
+
config_get_token: ['/^aaa group server tacacs\+ %s/i', '/^server (\S+)/']
|
|
20
|
+
config_set: ['aaa group server tacacs <name>', '<state> server <server>']
|
|
21
|
+
default_value: []
|
|
22
|
+
|
|
23
|
+
source_interface:
|
|
24
|
+
config_get: "show run tacacs all"
|
|
25
|
+
config_get_token: ['/^aaa group server tacacs\+ %s/', '/^source-interface (\S+)/']
|
|
26
|
+
config_set: ["aaa group server tacacs <name>", "<state> source-interface <interface>"]
|
|
27
|
+
default_value: ""
|
|
28
|
+
|
|
29
|
+
vrf:
|
|
30
|
+
config_get: "show run tacacs all"
|
|
31
|
+
config_get_token: ['/^aaa group server tacacs\+ %s/', '/^use-vrf (\S+)/']
|
|
32
|
+
config_set: ["aaa group server tacacs <name>", "<state> use-vrf <vrf>"]
|
|
33
|
+
default_value: "default"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# tacacs_server_host
|
|
2
|
+
---
|
|
3
|
+
encryption:
|
|
4
|
+
config_set: "%s tacacs-server host %s key %s %s"
|
|
5
|
+
|
|
6
|
+
encryption_password:
|
|
7
|
+
config_get: "show run tacacs all"
|
|
8
|
+
config_get_token: '/^tacacs-server host %s key \d+\s+(\S+)/'
|
|
9
|
+
default_value: ""
|
|
10
|
+
|
|
11
|
+
encryption_type:
|
|
12
|
+
config_get: "show run tacacs all"
|
|
13
|
+
config_get_token: '/^tacacs-server host %s key (\d+)/'
|
|
14
|
+
|
|
15
|
+
host:
|
|
16
|
+
config_set: "%s tacacs-server host %s"
|
|
17
|
+
|
|
18
|
+
hosts:
|
|
19
|
+
multiple: true
|
|
20
|
+
config_get: "show run tacacs all"
|
|
21
|
+
config_get_token: '/^tacacs-server host (\S+)/'
|
|
22
|
+
|
|
23
|
+
port:
|
|
24
|
+
kind: int
|
|
25
|
+
config_get: "show run tacacs all"
|
|
26
|
+
config_get_token: '/^tacacs-server host %s .*port (\d+)/'
|
|
27
|
+
config_set: "tacacs-server host %s port %s"
|
|
28
|
+
default_value: 49
|
|
29
|
+
|
|
30
|
+
timeout:
|
|
31
|
+
kind: int
|
|
32
|
+
config_get: "show run tacacs all"
|
|
33
|
+
config_get_token: '/^tacacs-server host %s .*timeout (\d+)/'
|
|
34
|
+
config_set: "%s tacacs-server host %s timeout %s"
|
|
35
|
+
default_value: 0
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# vdc
|
|
2
|
+
#
|
|
3
|
+
# The current simplified implementation assumes no admin-vdc and that the
|
|
4
|
+
# default vdc name uses id 1. Full multi-vdc support is TBD.
|
|
5
|
+
---
|
|
6
|
+
_exclude: [/N(3|5|6|9)/]
|
|
7
|
+
|
|
8
|
+
_template:
|
|
9
|
+
config_get: 'show run vdc all'
|
|
10
|
+
config_get_token: '/^vdc <vdc>/'
|
|
11
|
+
config_set: 'terminal dont-ask ; vdc <vdc>'
|
|
12
|
+
|
|
13
|
+
all_vdcs:
|
|
14
|
+
multiple:
|
|
15
|
+
config_get: 'show run vdc all'
|
|
16
|
+
config_get_token: '/^vdc (\S+) id/'
|
|
17
|
+
|
|
18
|
+
allocate_interface_unallocated:
|
|
19
|
+
kind: boolean
|
|
20
|
+
config_set_append: 'allocate interface unallocated-interfaces'
|
|
21
|
+
|
|
22
|
+
default_vdc_name:
|
|
23
|
+
# Name of the default vdc. Assumes no admin-vdc.
|
|
24
|
+
config_get_token: '/^vdc (\S+) id 1$/' # Assumes id 1 for default vdc
|
|
25
|
+
|
|
26
|
+
limit_resource_module_type:
|
|
27
|
+
config_get_token_append: '/^limit-resource module-type (.*)/'
|
|
28
|
+
config_set_append: '<state> limit-resource module-type <mods>'
|
|
29
|
+
default_value: ''
|
|
30
|
+
|
|
31
|
+
vdc_support:
|
|
32
|
+
# This is a only used for determining support for VDCs
|
|
33
|
+
kind: boolean
|
|
34
|
+
/N7/:
|
|
35
|
+
default_only: true
|
|
36
|
+
else:
|
|
37
|
+
# this feature is always off on these platforms and cannot be changed
|
|
38
|
+
default_only: false
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# vlan
|
|
2
|
+
---
|
|
3
|
+
all_vlans:
|
|
4
|
+
multiple: true
|
|
5
|
+
config_get: "show vlan brief"
|
|
6
|
+
config_get_token: '/^(\d+)\s/'
|
|
7
|
+
|
|
8
|
+
create:
|
|
9
|
+
config_set: ["vlan %s" , "end"]
|
|
10
|
+
|
|
11
|
+
destroy:
|
|
12
|
+
config_set: "no vlan %s"
|
|
13
|
+
|
|
14
|
+
mapped_vni:
|
|
15
|
+
/N(3|9)/:
|
|
16
|
+
kind: int
|
|
17
|
+
config_get: 'show running vlan'
|
|
18
|
+
config_get_token: ['/^vlan <vlan>$/', '/^vn-segment (\d+)$/']
|
|
19
|
+
# In the cli 'vn-segment' config is not applied untill the 'end'
|
|
20
|
+
# statement is issued.
|
|
21
|
+
config_set: ['vlan <vlan>', '<state> vn-segment <vni> ; end']
|
|
22
|
+
default_value: ''
|
|
23
|
+
|
|
24
|
+
mode:
|
|
25
|
+
_exclude:
|
|
26
|
+
- /N(3|9)/
|
|
27
|
+
kind: string
|
|
28
|
+
config_get: "show vlan"
|
|
29
|
+
# TBD: 'show vlan' is problematic and should be converted to use show run
|
|
30
|
+
# regex workaround: N7 cli bug displays 'trnet' instead of 'enet'
|
|
31
|
+
config_get_token: '/^%d\s+.+net\s+(\S+)/'
|
|
32
|
+
config_set: ["vlan %d" , "%s mode %s", "end"]
|
|
33
|
+
default_value: "ce"
|
|
34
|
+
|
|
35
|
+
name:
|
|
36
|
+
config_get: "show vlan brief"
|
|
37
|
+
config_get_token: '/^%d\s+(\S+)\s/'
|
|
38
|
+
config_set: ["vlan %d", "%s name %s", "end"]
|
|
39
|
+
/N9K/:
|
|
40
|
+
test_config_result:
|
|
41
|
+
32: "Long VLAN name knob is not enabled"
|
|
42
|
+
else:
|
|
43
|
+
test_config_result:
|
|
44
|
+
32: "String exceeded max length of (32)"
|
|
45
|
+
|
|
46
|
+
shutdown:
|
|
47
|
+
config_get: "show vlan brief"
|
|
48
|
+
config_get_token: '/^%d\s+\S+\s+(\S+)\s/'
|
|
49
|
+
config_set: ["vlan %d", "%s shutdown", "end"]
|
|
50
|
+
default_value: false
|
|
51
|
+
|
|
52
|
+
state:
|
|
53
|
+
config_get: "show vlan brief"
|
|
54
|
+
config_get_token: '/^%d\s+\S+\s+(\S+)\s/'
|
|
55
|
+
config_set: ["vlan %d", "%s state %s", "end"]
|
|
56
|
+
default_value: "active"
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# vni
|
|
2
|
+
---
|
|
3
|
+
_exclude: [/N(5|6)/]
|
|
4
|
+
all_vnis:
|
|
5
|
+
multiple:
|
|
6
|
+
/N7/:
|
|
7
|
+
# MT-full only
|
|
8
|
+
config_get: 'show vni'
|
|
9
|
+
config_get_token: '/^(\d+)\s/'
|
|
10
|
+
/N(3|9)/:
|
|
11
|
+
# MT-lite only
|
|
12
|
+
config_get: 'show running vlan'
|
|
13
|
+
config_get_token: '/vn-segment (\d+)/'
|
|
14
|
+
|
|
15
|
+
bridge_domain:
|
|
16
|
+
# MT-full only
|
|
17
|
+
config_get: 'show vni'
|
|
18
|
+
config_get_token: [ '/^%d\s+\S+\s+(\d+)/' ]
|
|
19
|
+
config_set: ['bridge-domain <domain>', '<state> member vni <vni>', 'end']
|
|
20
|
+
default_value: ~
|
|
21
|
+
|
|
22
|
+
bridge_domain_activate:
|
|
23
|
+
config_set: ['<state> system bridge-domain add <domain>', 'end']
|
|
24
|
+
|
|
25
|
+
create:
|
|
26
|
+
config_set: ['vni <vni>' , 'end']
|
|
27
|
+
|
|
28
|
+
destroy:
|
|
29
|
+
/N7/:
|
|
30
|
+
# MT-full only
|
|
31
|
+
config_set: 'no vni <vni>'
|
|
32
|
+
/N(3|9)/:
|
|
33
|
+
# MT-lite only
|
|
34
|
+
config_set: ['vlan <vlan>', 'no vn-segment <vni> ; end']
|
|
35
|
+
|
|
36
|
+
encap_dot1q:
|
|
37
|
+
config_set: ["encapsulation profile vni %s", "%s dot1q %s vni %s", "end"]
|
|
38
|
+
default_value: ~
|
|
39
|
+
|
|
40
|
+
feature:
|
|
41
|
+
config_get: 'show running | i ^feature'
|
|
42
|
+
/N7/:
|
|
43
|
+
# MT-Full only
|
|
44
|
+
config_get_token: '/^feature vni$/'
|
|
45
|
+
config_set: 'feature vni'
|
|
46
|
+
/N(3|9)/:
|
|
47
|
+
# MT-lite only
|
|
48
|
+
config_get_token: '/^feature vn-segment-vlan-based$/'
|
|
49
|
+
config_set: 'feature vn-segment-vlan-based'
|
|
50
|
+
|
|
51
|
+
mt_full_support:
|
|
52
|
+
# This is only used for determining support for Multi-Tenancy Full
|
|
53
|
+
kind: boolean
|
|
54
|
+
/N7/:
|
|
55
|
+
default_only: true
|
|
56
|
+
else:
|
|
57
|
+
# this feature is always off on these platforms and cannot be changed
|
|
58
|
+
default_only: false
|
|
59
|
+
|
|
60
|
+
mt_lite_support:
|
|
61
|
+
# This is only used for determining support for Multi-Tenancy Lite
|
|
62
|
+
kind: boolean
|
|
63
|
+
/N(3|9)/:
|
|
64
|
+
default_only: true
|
|
65
|
+
else:
|
|
66
|
+
# this feature is always off on these platforms and cannot be changed
|
|
67
|
+
default_only: false
|
|
68
|
+
|
|
69
|
+
shutdown:
|
|
70
|
+
# MT-Full only
|
|
71
|
+
/N7/:
|
|
72
|
+
kind: boolean
|
|
73
|
+
config_get: 'show vni'
|
|
74
|
+
config_get_token: '/^<vni> +Down/'
|
|
75
|
+
config_set: ['vni <vni>', '<state> shutdown', 'end']
|
|
76
|
+
default_value: false
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# vpc
|
|
2
|
+
---
|
|
3
|
+
_template:
|
|
4
|
+
config_get: 'show running-config vpc all'
|
|
5
|
+
config_get_token: '/^vpc domain\s*(\d+)$/'
|
|
6
|
+
config_set: "vpc domain <domain>"
|
|
7
|
+
|
|
8
|
+
auto_recovery:
|
|
9
|
+
kind: boolean
|
|
10
|
+
_exclude: [/N5K/, /N6K/]
|
|
11
|
+
auto_default: false
|
|
12
|
+
config_get_token_append: '/^auto\-recovery/'
|
|
13
|
+
config_set_append: "<state> auto-recovery"
|
|
14
|
+
/(N3K|N9K)/:
|
|
15
|
+
default_value: false
|
|
16
|
+
else:
|
|
17
|
+
default_value: true
|
|
18
|
+
|
|
19
|
+
auto_recovery_reload_delay:
|
|
20
|
+
kind: int
|
|
21
|
+
config_get_token_append: '/auto\-recovery reload\-delay (\d+)/'
|
|
22
|
+
config_set_append: "auto-recovery reload-delay <delay>"
|
|
23
|
+
default_value: 240
|
|
24
|
+
|
|
25
|
+
delay_restore:
|
|
26
|
+
kind: int
|
|
27
|
+
config_get_token_append: '/^delay restore\s+(\d+)/'
|
|
28
|
+
config_set_append: "delay restore <delay>"
|
|
29
|
+
default_value: 30
|
|
30
|
+
|
|
31
|
+
delay_restore_interface_vlan:
|
|
32
|
+
kind: int
|
|
33
|
+
config_get_token_append: '/^delay restore interface\-vlan\s+(\d+)/'
|
|
34
|
+
config_set_append: "delay restore interface-vlan <delay>"
|
|
35
|
+
default_value: 10
|
|
36
|
+
|
|
37
|
+
domain:
|
|
38
|
+
auto_default: false
|
|
39
|
+
config_get: "show running-config vpc all"
|
|
40
|
+
config_get_token: '/^vpc domain\s+(\d+)/'
|
|
41
|
+
config_set: "<state> vpc domain <domain>"
|
|
42
|
+
default_value: ''
|
|
43
|
+
|
|
44
|
+
dual_active_exclude_interface_vlan_bridge_domain:
|
|
45
|
+
kind: string
|
|
46
|
+
/N7/:
|
|
47
|
+
config_get_token_append: '/^dual\-active exclude interface\-vlan\-bridge\-domain\s+(\S+)/'
|
|
48
|
+
config_set_append: "<state> dual-active exclude interface-vlan-bridge-domain <range>"
|
|
49
|
+
else:
|
|
50
|
+
config_get_token_append: '/^dual\-active exclude interface\-vlan\s+(\S+)/'
|
|
51
|
+
config_set_append: "<state> dual-active exclude interface-vlan <range>"
|
|
52
|
+
default_value: 'none'
|
|
53
|
+
|
|
54
|
+
#vPC+ CLIs
|
|
55
|
+
fabricpath_multicast_load_balance:
|
|
56
|
+
kind: boolean
|
|
57
|
+
config_get_token_append: '/^fabricpath multicast load-balance'
|
|
58
|
+
config_set_append: "<state> fabricpath multicast load-balance"
|
|
59
|
+
default_value: false
|
|
60
|
+
|
|
61
|
+
fabricpath_switch_id:
|
|
62
|
+
kind: int
|
|
63
|
+
config_get_token_append: '/^fabricpath switch\-id\s+(\d+)/'
|
|
64
|
+
config_set_append: "<state> fabricpath switch-id <swid>"
|
|
65
|
+
default_value: false
|
|
66
|
+
|
|
67
|
+
#END vPC+ CLIs
|
|
68
|
+
|
|
69
|
+
feature:
|
|
70
|
+
kind: boolean
|
|
71
|
+
config_get: "show feature | section vpc"
|
|
72
|
+
config_get_token: '/^vpc\s+\d+\s+enabled\s*$/'
|
|
73
|
+
config_set: ["terminal dont-ask", "<state> feature vpc"]
|
|
74
|
+
default_value: false
|
|
75
|
+
|
|
76
|
+
graceful_consistency_check:
|
|
77
|
+
auto_default: false
|
|
78
|
+
kind: boolean
|
|
79
|
+
config_get_token_append: '/^graceful consistency\-check/'
|
|
80
|
+
config_set_append: "<state> graceful consistency-check"
|
|
81
|
+
default_value: true
|
|
82
|
+
|
|
83
|
+
layer3_peer_routing:
|
|
84
|
+
kind: boolean
|
|
85
|
+
_exclude: [/N3K/, /N5K/, /N9K/]
|
|
86
|
+
config_get_token_append: '/^layer3 peer-router$/'
|
|
87
|
+
config_set_append: "<state> layer3 peer-router"
|
|
88
|
+
default_value: false
|
|
89
|
+
|
|
90
|
+
peer_gateway:
|
|
91
|
+
kind: boolean
|
|
92
|
+
config_get_token_append: '/^peer\-gateway/'
|
|
93
|
+
config_set_append: ["terminal dont-ask", "<state> peer-gateway"]
|
|
94
|
+
default_value: false
|
|
95
|
+
|
|
96
|
+
# Exclude everyone for now till the BD command is fully supported
|
|
97
|
+
peer_gateway_exclude_bridge_domain:
|
|
98
|
+
kind: string
|
|
99
|
+
_exclude: [/N3K/, /N5K/, /N6K/, /N7/, /N9K/]
|
|
100
|
+
config_get_token_append: '/^peer\-gateway exclude bridge\-domain\s+(\S+)/'
|
|
101
|
+
config_set_append: ["terminal dont-ask", "peer-gateway exclude-bridge-domain <range>"]
|
|
102
|
+
default_value: ''
|
|
103
|
+
|
|
104
|
+
peer_gateway_exclude_vlan:
|
|
105
|
+
_exclude: [/N3K/, /N9K/]
|
|
106
|
+
kind: string
|
|
107
|
+
config_get_token_append: '/^peer\-gateway exclude-vlan\s(\S+)/'
|
|
108
|
+
config_set_append: ["terminal dont-ask", "peer-gateway exclude-vlan <range>"]
|
|
109
|
+
default_value: ''
|
|
110
|
+
|
|
111
|
+
# Peer-keep-alive
|
|
112
|
+
peer_keepalive_dest:
|
|
113
|
+
config_get_token_append: '/^peer\-keepalive destination (\S+)/'
|
|
114
|
+
default_value: ''
|
|
115
|
+
|
|
116
|
+
peer_keepalive_hold_timeout:
|
|
117
|
+
kind: int
|
|
118
|
+
config_get_token_append: '/^peer\-keepalive .*hold\-timeout (\S+)/'
|
|
119
|
+
default_value: 3
|
|
120
|
+
|
|
121
|
+
peer_keepalive_interval:
|
|
122
|
+
kind: int
|
|
123
|
+
config_get_token_append: '/^peer\-keepalive .*interval (\S+)/'
|
|
124
|
+
default_value: 1000
|
|
125
|
+
|
|
126
|
+
peer_keepalive_precedence:
|
|
127
|
+
kind: int
|
|
128
|
+
config_get_token_append: '/^peer\-keepalive .*precedence (\S+)/'
|
|
129
|
+
default_value: 6
|
|
130
|
+
|
|
131
|
+
peer_keepalive_set:
|
|
132
|
+
config_set_append: "peer-keepalive destination <dest> source <src> udp-port <port_num> vrf <vrf> interval <interval> timeout <timeout> precedence <precedence> hold-timeout <hold_timeout>"
|
|
133
|
+
|
|
134
|
+
peer_keepalive_src:
|
|
135
|
+
config_get_token_append: '/^peer\-keepalive .*source (\S+)/'
|
|
136
|
+
default_value: ''
|
|
137
|
+
|
|
138
|
+
peer_keepalive_timeout:
|
|
139
|
+
kind: int
|
|
140
|
+
config_get_token_append: '/^peer\-keepalive .* timeout (\S+)/'
|
|
141
|
+
default_value: 5
|
|
142
|
+
|
|
143
|
+
peer_keepalive_udp_port:
|
|
144
|
+
kind: int
|
|
145
|
+
config_get_token_append: '/^peer\-keepalive .*udp\-port (\S+)/'
|
|
146
|
+
default_value: 3200
|
|
147
|
+
|
|
148
|
+
peer_keepalive_vrf:
|
|
149
|
+
config_get_token_append: '/^peer\-keepalive .*vrf (\S+)/'
|
|
150
|
+
default_value: 'management'
|
|
151
|
+
|
|
152
|
+
port_channel_limit:
|
|
153
|
+
_exclude: [/N5K/, /N6K/, /N9K/]
|
|
154
|
+
kind: boolean
|
|
155
|
+
config_get_token_append: '/^port\-channel limit/'
|
|
156
|
+
config_set_append: "<state> port-channel limit"
|
|
157
|
+
|
|
158
|
+
role_priority:
|
|
159
|
+
kind: int
|
|
160
|
+
config_get_token_append: '/^role priority\s+(\d+)/'
|
|
161
|
+
config_set_append: "role priority <priority>"
|
|
162
|
+
default_value: 32667
|
|
163
|
+
|
|
164
|
+
self_isolation:
|
|
165
|
+
kind: boolean
|
|
166
|
+
_exclude: [/N5K/, /N6K/, /N9K/]
|
|
167
|
+
config_get_token_append: '/^self\-isolation/'
|
|
168
|
+
config_set_append: "<state> self-isolation"
|
|
169
|
+
default_value: false
|
|
170
|
+
|
|
171
|
+
shutdown:
|
|
172
|
+
kind: boolean
|
|
173
|
+
_exclude: [/N3K/, /N9K/]
|
|
174
|
+
config_get_token_append: '/^shutdown/'
|
|
175
|
+
config_set_append: "<state> shutdown"
|
|
176
|
+
default_value: false
|
|
177
|
+
|
|
178
|
+
system_mac:
|
|
179
|
+
kind: string
|
|
180
|
+
config_get_token_append: '/^system\-mac (\S+)$/'
|
|
181
|
+
config_set_append: "<state> system-mac <mac_addr>"
|
|
182
|
+
default_value: ''
|
|
183
|
+
|
|
184
|
+
system_priority:
|
|
185
|
+
kind: int
|
|
186
|
+
config_get_token_append: '/^system\-priority\s+(\d+)/'
|
|
187
|
+
config_set_append: "system-priority <priority>"
|
|
188
|
+
default_value: 32667
|
|
189
|
+
|
|
190
|
+
# Exclude everyone for now till the track command is fully supported
|
|
191
|
+
track:
|
|
192
|
+
kind: int
|
|
193
|
+
_exclude: [/N3K/, /N5K/, /N6K/, /N7/, /N9K/]
|
|
194
|
+
config_get_token_append: '/^track\s+(\d+)/'
|
|
195
|
+
config_set_append: "<state> track <val>"
|
|
196
|
+
default_value: 0
|
|
197
|
+
|