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,35 @@
|
|
|
1
|
+
# fabricpath_topology
|
|
2
|
+
---
|
|
3
|
+
# Fabricpath feature is not available on N3K and N9K
|
|
4
|
+
_exclude: [/N3/, /N9K/]
|
|
5
|
+
|
|
6
|
+
all_topos:
|
|
7
|
+
multiple:
|
|
8
|
+
config_get: "show fabricpath topology"
|
|
9
|
+
config_get_token: '/^\S+[\s]+(\d+)[\s]+/'
|
|
10
|
+
|
|
11
|
+
create:
|
|
12
|
+
config_set: ["fabricpath topology <topo>" , "end"]
|
|
13
|
+
|
|
14
|
+
description:
|
|
15
|
+
kind: string
|
|
16
|
+
config_get: "show fabricpath topology"
|
|
17
|
+
config_get_token: '/^(\S+)[\s]+%d+[\s]+\S+/'
|
|
18
|
+
config_set: ["fabricpath topology <topo>" , "<state> description <name>", "end"]
|
|
19
|
+
default_value: ""
|
|
20
|
+
|
|
21
|
+
destroy:
|
|
22
|
+
config_set: "no fabricpath topology <topo>"
|
|
23
|
+
|
|
24
|
+
member_vlans:
|
|
25
|
+
kind: string
|
|
26
|
+
config_get: "show fabricpath topology vlan"
|
|
27
|
+
config_get_token: '/^\S+[\s]+%d+[\s]+(\S+)/'
|
|
28
|
+
config_set: ["fabricpath topology <topo>" , "<state> member vlan <vlan_range>", "end"]
|
|
29
|
+
default_value: "--"
|
|
30
|
+
|
|
31
|
+
state:
|
|
32
|
+
kind: string
|
|
33
|
+
config_get: "show fabricpath topology"
|
|
34
|
+
config_get_token: '/^\S+[\s]+%d+[\s]+(\S+)/'
|
|
35
|
+
default_value: "up"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# feature
|
|
2
|
+
---
|
|
3
|
+
bgp:
|
|
4
|
+
kind: boolean
|
|
5
|
+
config_get: "show running | i feature"
|
|
6
|
+
config_get_token: '/^feature bgp$/'
|
|
7
|
+
config_set: "feature bgp"
|
|
8
|
+
|
|
9
|
+
fabric:
|
|
10
|
+
_exclude: [/N(3|9)/]
|
|
11
|
+
config_get: "show feature-set"
|
|
12
|
+
config_get_token: '/^fabric[\s\d]+(\w+)/'
|
|
13
|
+
config_set: "<state> feature-set fabric"
|
|
14
|
+
|
|
15
|
+
fabric_forwarding:
|
|
16
|
+
_exclude: [/N3/]
|
|
17
|
+
config_get: "show running | i ^feature"
|
|
18
|
+
config_get_token: '/^feature fabric forwarding$/'
|
|
19
|
+
config_set: "feature fabric forwarding"
|
|
20
|
+
|
|
21
|
+
nv_overlay:
|
|
22
|
+
_exclude: [/N(3|5|6)/]
|
|
23
|
+
kind: boolean
|
|
24
|
+
config_get: 'show running nv overlay'
|
|
25
|
+
config_get_token: '/^feature nv overlay$/'
|
|
26
|
+
config_set: "feature nv overlay"
|
|
27
|
+
|
|
28
|
+
nv_overlay_evpn:
|
|
29
|
+
_exclude: [/N3/]
|
|
30
|
+
kind: boolean
|
|
31
|
+
config_get: "show running | section nv"
|
|
32
|
+
config_get_token: '/^nv overlay evpn$/'
|
|
33
|
+
config_set: "nv overlay evpn"
|
|
34
|
+
|
|
35
|
+
vn_segment_vlan_based:
|
|
36
|
+
# MT-lite only
|
|
37
|
+
/N(3|9)/:
|
|
38
|
+
kind: boolean
|
|
39
|
+
config_get: 'show running section feature'
|
|
40
|
+
config_get_token: '/^feature vn-segment-vlan-based$/'
|
|
41
|
+
config_set: 'feature vn-segment-vlan-based'
|
|
42
|
+
default_value: false
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
# interface
|
|
2
|
+
---
|
|
3
|
+
_template:
|
|
4
|
+
config_set: ["interface %s"]
|
|
5
|
+
config_get_token: '/^interface %s$/i'
|
|
6
|
+
cli_nexus:
|
|
7
|
+
config_get: "show running interface all"
|
|
8
|
+
|
|
9
|
+
access_vlan:
|
|
10
|
+
config_get_token_append: '/^switchport access vlan (.*)$/'
|
|
11
|
+
config_set_append: "switchport access vlan %s"
|
|
12
|
+
kind: int
|
|
13
|
+
default_value: 1
|
|
14
|
+
|
|
15
|
+
admin_state_ethernet_noswitchport_shutdown:
|
|
16
|
+
# TODO: is this actually used?
|
|
17
|
+
cli_nexus:
|
|
18
|
+
/N7/:
|
|
19
|
+
default_value: "shutdown"
|
|
20
|
+
|
|
21
|
+
all_interfaces:
|
|
22
|
+
multiple:
|
|
23
|
+
config_get_token: '/^interface (.*)/'
|
|
24
|
+
|
|
25
|
+
create:
|
|
26
|
+
config_set: "interface %s"
|
|
27
|
+
|
|
28
|
+
description:
|
|
29
|
+
kind: string
|
|
30
|
+
config_get_token_append: '/^description (.*)/'
|
|
31
|
+
config_set_append: "%s description %s"
|
|
32
|
+
default_value: ""
|
|
33
|
+
|
|
34
|
+
destroy:
|
|
35
|
+
config_set: "no interface %s"
|
|
36
|
+
|
|
37
|
+
duplex:
|
|
38
|
+
kind: string
|
|
39
|
+
config_get_token_append: '/^duplex (.*)$/'
|
|
40
|
+
config_set_append: "duplex %s"
|
|
41
|
+
default_value: "auto"
|
|
42
|
+
|
|
43
|
+
encapsulation_dot1q:
|
|
44
|
+
kind: int
|
|
45
|
+
config_get_token_append: '/^encapsulation dot1q (.*)/i'
|
|
46
|
+
config_set_append: "%s encapsulation dot1q %s"
|
|
47
|
+
default_value: ""
|
|
48
|
+
|
|
49
|
+
fabric_forwarding_anycast_gateway:
|
|
50
|
+
kind: boolean
|
|
51
|
+
config_get_token_append: '/^fabric forwarding mode anycast-gateway$/'
|
|
52
|
+
config_set_append: "%s fabric forwarding mode anycast-gateway"
|
|
53
|
+
default_value: false
|
|
54
|
+
|
|
55
|
+
feature_lacp:
|
|
56
|
+
kind: boolean
|
|
57
|
+
config_get: "show running | i ^feature"
|
|
58
|
+
config_get_token: '/^feature lacp$/'
|
|
59
|
+
config_set: "%s feature lacp"
|
|
60
|
+
|
|
61
|
+
feature_vlan:
|
|
62
|
+
kind: boolean
|
|
63
|
+
cli_nexus:
|
|
64
|
+
config_get: "show running | i ^feature"
|
|
65
|
+
config_get_token: '/^feature interface-vlan$/'
|
|
66
|
+
config_set: "%s feature interface-vlan"
|
|
67
|
+
|
|
68
|
+
ipv4_acl_in:
|
|
69
|
+
config_get_token_append: '/^ip access-group (\S+) in/'
|
|
70
|
+
config_set_append: "%s ip access-group %s in"
|
|
71
|
+
default_value: ""
|
|
72
|
+
|
|
73
|
+
ipv4_acl_out:
|
|
74
|
+
config_get_token_append: '/^ip access-group (\S+) out/'
|
|
75
|
+
config_set_append: "%s ip access-group %s out"
|
|
76
|
+
default_value: ""
|
|
77
|
+
|
|
78
|
+
ipv4_addr_mask:
|
|
79
|
+
# This handles both primary and secondary addresses
|
|
80
|
+
multiple:
|
|
81
|
+
cli_nexus:
|
|
82
|
+
config_get_token_append: '/^ip address ([0-9\.]+)[\s\/](.*)/'
|
|
83
|
+
config_set_append: "%s ip address %s %s"
|
|
84
|
+
|
|
85
|
+
ipv4_address:
|
|
86
|
+
default_value: ~
|
|
87
|
+
|
|
88
|
+
ipv4_arp_timeout:
|
|
89
|
+
kind: int
|
|
90
|
+
config_get_token_append: '/^ip arp timeout (\d+)$/'
|
|
91
|
+
config_set_append: "%s ip arp timeout %s"
|
|
92
|
+
default_value: 700
|
|
93
|
+
|
|
94
|
+
ipv4_arp_timeout_non_vlan_interfaces:
|
|
95
|
+
default_only: ~
|
|
96
|
+
|
|
97
|
+
ipv4_netmask_length:
|
|
98
|
+
default_value: ~
|
|
99
|
+
|
|
100
|
+
ipv4_pim_sparse_mode:
|
|
101
|
+
kind: boolean
|
|
102
|
+
default_value: false
|
|
103
|
+
cli_nexus:
|
|
104
|
+
config_get_token_append: '/^ip pim sparse-mode$/'
|
|
105
|
+
config_set_append: "%s ip pim sparse-mode"
|
|
106
|
+
|
|
107
|
+
ipv4_proxy_arp:
|
|
108
|
+
kind: boolean
|
|
109
|
+
default_value: false
|
|
110
|
+
cli_nexus:
|
|
111
|
+
config_get_token_append: '/^ip proxy-arp$/'
|
|
112
|
+
config_set_append: "%s ip proxy-arp"
|
|
113
|
+
|
|
114
|
+
ipv4_redirects_loopback:
|
|
115
|
+
kind: boolean
|
|
116
|
+
cli_nexus:
|
|
117
|
+
default_only: false
|
|
118
|
+
|
|
119
|
+
ipv4_redirects_other_interfaces:
|
|
120
|
+
kind: boolean
|
|
121
|
+
test_config_result:
|
|
122
|
+
false: false
|
|
123
|
+
true: true
|
|
124
|
+
cli_nexus:
|
|
125
|
+
config_get_token_append: '/^((?:no )?ip redirects)$/'
|
|
126
|
+
config_set_append: "%s ip redirects"
|
|
127
|
+
default_value: true
|
|
128
|
+
test_config_get_regex: [
|
|
129
|
+
'/^\s+ip redirects/',
|
|
130
|
+
'/^\s+no ip redirects/'
|
|
131
|
+
]
|
|
132
|
+
|
|
133
|
+
ipv6_acl_in:
|
|
134
|
+
config_get_token_append: '/^ipv6 traffic-filter (\S+) in/'
|
|
135
|
+
config_set_append: "%s ipv6 traffic-filter %s in"
|
|
136
|
+
default_value: ""
|
|
137
|
+
|
|
138
|
+
ipv6_acl_out:
|
|
139
|
+
config_get_token_append: '/^ipv6 traffic-filter (\S+) out/'
|
|
140
|
+
config_set_append: "%s ipv6 traffic-filter %s out"
|
|
141
|
+
default_value: ""
|
|
142
|
+
mtu:
|
|
143
|
+
kind: int
|
|
144
|
+
config_get_token_append: '/^mtu (.*)$/'
|
|
145
|
+
config_set_append: "%s mtu %s"
|
|
146
|
+
default_value: 1500
|
|
147
|
+
|
|
148
|
+
negotiate_auto_ethernet:
|
|
149
|
+
kind: boolean
|
|
150
|
+
cli_nexus:
|
|
151
|
+
test_config_get_regex: [
|
|
152
|
+
'/^\s+no negotiate auto/',
|
|
153
|
+
'/^\s+negotiate auto/'
|
|
154
|
+
]
|
|
155
|
+
/(N7|C3064)/:
|
|
156
|
+
default_only: false
|
|
157
|
+
else:
|
|
158
|
+
config_get_token_append: '/^(no )?negotiate auto$/'
|
|
159
|
+
config_set_append: "%s negotiate auto"
|
|
160
|
+
default_value: true
|
|
161
|
+
|
|
162
|
+
negotiate_auto_other_interfaces:
|
|
163
|
+
kind: boolean
|
|
164
|
+
default_only: false
|
|
165
|
+
|
|
166
|
+
negotiate_auto_portchannel:
|
|
167
|
+
kind: boolean
|
|
168
|
+
cli_nexus:
|
|
169
|
+
test_config_get_regex: [
|
|
170
|
+
'/^\s+no negotiate auto/',
|
|
171
|
+
'/^\s+negotiate auto/'
|
|
172
|
+
]
|
|
173
|
+
/N7/:
|
|
174
|
+
default_only: false
|
|
175
|
+
else:
|
|
176
|
+
config_get_token_append: '/^(no )?negotiate auto$/'
|
|
177
|
+
config_set_append: "%s negotiate auto"
|
|
178
|
+
default_value: true
|
|
179
|
+
|
|
180
|
+
shutdown:
|
|
181
|
+
kind: boolean
|
|
182
|
+
config_get_token_append: '/^shutdown$/'
|
|
183
|
+
config_set_append: "%s shutdown"
|
|
184
|
+
|
|
185
|
+
shutdown_ether_channel:
|
|
186
|
+
default_value: false
|
|
187
|
+
|
|
188
|
+
shutdown_ethernet_noswitchport_noshutdown:
|
|
189
|
+
default_value: false
|
|
190
|
+
|
|
191
|
+
shutdown_ethernet_noswitchport_shutdown:
|
|
192
|
+
default_value: false
|
|
193
|
+
|
|
194
|
+
shutdown_ethernet_switchport_noshutdown:
|
|
195
|
+
default_value: false
|
|
196
|
+
|
|
197
|
+
shutdown_ethernet_switchport_shutdown:
|
|
198
|
+
default_value: true
|
|
199
|
+
|
|
200
|
+
shutdown_loopback:
|
|
201
|
+
default_value: false
|
|
202
|
+
|
|
203
|
+
shutdown_unknown:
|
|
204
|
+
default_value: true
|
|
205
|
+
|
|
206
|
+
shutdown_vlan:
|
|
207
|
+
cli_nexus:
|
|
208
|
+
default_value: true
|
|
209
|
+
|
|
210
|
+
speed:
|
|
211
|
+
config_get_token_append: '/^speed (.*)$/'
|
|
212
|
+
config_set_append: "speed %s"
|
|
213
|
+
default_value: "auto"
|
|
214
|
+
|
|
215
|
+
svi_autostate:
|
|
216
|
+
_exclude: [/N(5|6)/]
|
|
217
|
+
kind: boolean
|
|
218
|
+
config_get_token_append: '/^(?:no )?autostate$/'
|
|
219
|
+
config_set_append: "%s autostate"
|
|
220
|
+
default_value: true
|
|
221
|
+
test_config_result:
|
|
222
|
+
false: false
|
|
223
|
+
true: true
|
|
224
|
+
|
|
225
|
+
svi_management:
|
|
226
|
+
kind: boolean
|
|
227
|
+
config_get_token_append: '/^management$/'
|
|
228
|
+
config_set_append: "%s management"
|
|
229
|
+
default_value: false
|
|
230
|
+
|
|
231
|
+
switchport:
|
|
232
|
+
kind: boolean
|
|
233
|
+
config_get_token_append: '/^switchport$/'
|
|
234
|
+
config_set_append: "%s switchport"
|
|
235
|
+
# default_value: n/a. This is derived from system_default_switchport
|
|
236
|
+
|
|
237
|
+
switchport_autostate_exclude:
|
|
238
|
+
kind: boolean
|
|
239
|
+
config_get_token_append: '/(^switchport autostate exclude)/'
|
|
240
|
+
config_set_append: "%s switchport autostate exclude"
|
|
241
|
+
default_value: false
|
|
242
|
+
|
|
243
|
+
switchport_mode_dot1q_tunnel:
|
|
244
|
+
test_config_result:
|
|
245
|
+
false: RuntimeError
|
|
246
|
+
|
|
247
|
+
switchport_mode_ethernet:
|
|
248
|
+
auto_default: false
|
|
249
|
+
config_get_token_append: '/^(?:no )?switchport mode ?(.*)$/'
|
|
250
|
+
config_set_append: "%s switchport mode %s"
|
|
251
|
+
default_value: "access"
|
|
252
|
+
|
|
253
|
+
switchport_mode_other_interfaces:
|
|
254
|
+
default_only: ""
|
|
255
|
+
|
|
256
|
+
switchport_mode_port_channel:
|
|
257
|
+
config_get_token_append: '/^switchport mode (.*)$/'
|
|
258
|
+
config_set_append: "%s switchport mode %s"
|
|
259
|
+
default_value: ""
|
|
260
|
+
|
|
261
|
+
switchport_trunk_allowed_vlan:
|
|
262
|
+
config_get_token_append: '/^switchport trunk allowed vlan (.*)$/'
|
|
263
|
+
config_set_append: "%s switchport trunk allowed vlan %s"
|
|
264
|
+
default_value: "1-4094"
|
|
265
|
+
|
|
266
|
+
switchport_trunk_native_vlan:
|
|
267
|
+
kind: int
|
|
268
|
+
config_get_token_append: '/^switchport trunk native vlan (.*)$/'
|
|
269
|
+
config_set_append: "%s switchport trunk native vlan %s"
|
|
270
|
+
default_value: 1
|
|
271
|
+
|
|
272
|
+
system_default_svi_autostate:
|
|
273
|
+
_exclude: [/N(5|6)/]
|
|
274
|
+
kind: boolean
|
|
275
|
+
config_get: "show running all | include 'system default'"
|
|
276
|
+
/N7K/:
|
|
277
|
+
# When enabled: Property does not nvgen.
|
|
278
|
+
# When disabled: Property nvgens as 'system default interface-vlan no autostate'
|
|
279
|
+
config_get_token: ['/^system default interface-vlan no autostate$/']
|
|
280
|
+
# default_value: n/a. This is a user-configurable system default.
|
|
281
|
+
else:
|
|
282
|
+
# When enabled: Property nvgens as 'system default interface-vlan autostate'
|
|
283
|
+
# When disabled: Property nvgens as 'no system default interface-vlan autostate'
|
|
284
|
+
config_get_token: ['/^system default interface-vlan autostate$/']
|
|
285
|
+
# default_value: n/a. This is a user-configurable system default.
|
|
286
|
+
|
|
287
|
+
system_default_switchport:
|
|
288
|
+
# Note: This is a simple boolean state but there is a bug on some
|
|
289
|
+
# platforms that causes the cli to nvgen twice; this causes config_get to
|
|
290
|
+
# raise an error when it encounters the multiple. Therefore we define it
|
|
291
|
+
# as a multiple to avoid the raise.
|
|
292
|
+
multiple:
|
|
293
|
+
config_get: "show running all | include 'system default'"
|
|
294
|
+
config_get_token: ['/^no system default switchport$/']
|
|
295
|
+
default_value: true
|
|
296
|
+
|
|
297
|
+
system_default_switchport_shutdown:
|
|
298
|
+
kind: boolean
|
|
299
|
+
config_get: "show running all | include 'system default'"
|
|
300
|
+
config_get_token: ['/^system default switchport shutdown$/']
|
|
301
|
+
# default_value: n/a. This is a user-configurable system default.
|
|
302
|
+
|
|
303
|
+
vlan_mapping:
|
|
304
|
+
_exclude: [/N(3|5|6|9)/]
|
|
305
|
+
multiple:
|
|
306
|
+
config_get_token_append: '/^switchport vlan mapping (\d+) (\d+)/'
|
|
307
|
+
config_set_append: '%s switchport vlan mapping %s %s'
|
|
308
|
+
default_value: []
|
|
309
|
+
|
|
310
|
+
vlan_mapping_enable:
|
|
311
|
+
_exclude: [/N(3|5|6|9)/]
|
|
312
|
+
kind: boolean
|
|
313
|
+
config_get_token_append: '/^(no )?switchport vlan mapping enable/'
|
|
314
|
+
config_set_append: '%s switchport vlan mapping enable'
|
|
315
|
+
default_value: true
|
|
316
|
+
|
|
317
|
+
vpc_id:
|
|
318
|
+
kind: int
|
|
319
|
+
config_get_token_append: '/^vpc (\d+)$/'
|
|
320
|
+
config_set_append: '%s vpc %s'
|
|
321
|
+
default_value: false
|
|
322
|
+
|
|
323
|
+
vpc_peer_link:
|
|
324
|
+
kind: boolean
|
|
325
|
+
config_get_token_append: '/^vpc peer\-link$/'
|
|
326
|
+
config_set_append: '%s vpc peer-link'
|
|
327
|
+
default_value: false
|
|
328
|
+
|
|
329
|
+
vrf:
|
|
330
|
+
default_value: ""
|
|
331
|
+
cli_nexus:
|
|
332
|
+
config_get_token_append: '/^vrf member (.*)/'
|
|
333
|
+
config_set_append: "%s vrf member %s"
|
|
334
|
+
|
|
335
|
+
vtp:
|
|
336
|
+
kind: boolean
|
|
337
|
+
config_get_token_append: '/^vtp *$/'
|
|
338
|
+
config_set_append: "%s vtp"
|
|
339
|
+
default_value: false
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# interface_channel_group
|
|
2
|
+
---
|
|
3
|
+
_template:
|
|
4
|
+
config_get: "show running interface all"
|
|
5
|
+
config_get_token: '/^interface <name>$/i'
|
|
6
|
+
config_set: 'interface <name>'
|
|
7
|
+
|
|
8
|
+
all_interfaces:
|
|
9
|
+
multiple:
|
|
10
|
+
config_get_token: '/^interface (Ethernet.*)/i'
|
|
11
|
+
|
|
12
|
+
channel_group:
|
|
13
|
+
kind: int
|
|
14
|
+
config_get_token_append: '/^channel-group (\d+)$/'
|
|
15
|
+
config_set_append: '<state> channel-group <group> <force>'
|
|
16
|
+
default_value: false
|
|
17
|
+
|
|
18
|
+
description:
|
|
19
|
+
kind: string
|
|
20
|
+
config_get_token_append: '/^description (.*)/'
|
|
21
|
+
config_set_append: '<state> description <desc>'
|
|
22
|
+
default_value: ''
|
|
23
|
+
|
|
24
|
+
shutdown:
|
|
25
|
+
kind: boolean
|
|
26
|
+
config_get_token_append: '/^(?:no )?shutdown$/'
|
|
27
|
+
config_set_append: '<state> shutdown'
|
|
28
|
+
default_value: true
|