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,25 @@
|
|
|
1
|
+
# radius_global.yaml
|
|
2
|
+
---
|
|
3
|
+
key:
|
|
4
|
+
config_get: "show running-config radius all"
|
|
5
|
+
config_get_token: '/^radius-server key \d+\s+(\S+)/'
|
|
6
|
+
config_set: '<state> radius-server key <key>'
|
|
7
|
+
|
|
8
|
+
key_format:
|
|
9
|
+
kind: int
|
|
10
|
+
config_get: "show running-config radius all"
|
|
11
|
+
config_get_token: '/^radius-server key (\d).*/'
|
|
12
|
+
|
|
13
|
+
retransmit:
|
|
14
|
+
kind: int
|
|
15
|
+
config_get: "show running-config radius all"
|
|
16
|
+
config_get_token: '/^radius-server retransmit (\d+).*/'
|
|
17
|
+
config_set: '<state> radius-server retransmit <count>'
|
|
18
|
+
default_value: 1
|
|
19
|
+
|
|
20
|
+
timeout:
|
|
21
|
+
kind: int
|
|
22
|
+
config_get: "show running-config radius all"
|
|
23
|
+
config_get_token: '/^radius-server timeout (\d+).*/'
|
|
24
|
+
config_set: '<state> radius-server timeout <timeout>'
|
|
25
|
+
default_value: 5
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# radius_server.yaml
|
|
2
|
+
---
|
|
3
|
+
accounting:
|
|
4
|
+
auto_default: false
|
|
5
|
+
kind: boolean
|
|
6
|
+
config_get: "show running-config radius"
|
|
7
|
+
config_get_token: '/^radius-server host %s.* (accounting) .*$/'
|
|
8
|
+
config_set: '<state> radius-server host <ip> accounting'
|
|
9
|
+
default_value: true
|
|
10
|
+
|
|
11
|
+
acct-port:
|
|
12
|
+
kind: int
|
|
13
|
+
config_get: "show running-config radius all"
|
|
14
|
+
config_get_token: '/^radius-server host %s.* acct-port (\d+).*$/'
|
|
15
|
+
config_set: '<state> radius-server host <ip> acct-port <port>'
|
|
16
|
+
default_value: 1813
|
|
17
|
+
|
|
18
|
+
auth-port:
|
|
19
|
+
kind: int
|
|
20
|
+
config_get: "show running-config radius all"
|
|
21
|
+
config_get_token: '/^radius-server host %s.* auth-port (\d+).*$/'
|
|
22
|
+
config_set: '<state> radius-server host <ip> auth-port <port>'
|
|
23
|
+
default_value: 1812
|
|
24
|
+
|
|
25
|
+
authentication:
|
|
26
|
+
auto_default: false
|
|
27
|
+
kind: boolean
|
|
28
|
+
config_get: "show running-config radius"
|
|
29
|
+
config_get_token: '/^radius-server host %s.* (authentication) .*$/'
|
|
30
|
+
config_set: '<state> radius-server host <ip> authentication'
|
|
31
|
+
default_value: true
|
|
32
|
+
|
|
33
|
+
hosts:
|
|
34
|
+
multiple: true
|
|
35
|
+
config_get: "show running-config radius"
|
|
36
|
+
config_get_token: '/^radius-server host (\S+).*/'
|
|
37
|
+
config_set: '<state> radius-server host <ip>'
|
|
38
|
+
default_value: ''
|
|
39
|
+
|
|
40
|
+
key:
|
|
41
|
+
config_get: "show running-config radius all"
|
|
42
|
+
config_get_token: '/^radius-server host %s.* key \d+\s+(\S+)/'
|
|
43
|
+
config_set: '<state> radius-server host <ip> key <key>'
|
|
44
|
+
default_value: ~
|
|
45
|
+
|
|
46
|
+
key_format:
|
|
47
|
+
kind: int
|
|
48
|
+
config_get: "show running-config radius all"
|
|
49
|
+
config_get_token: '/^radius-server host %s.* key (\d).*$/'
|
|
50
|
+
default_value: ~
|
|
51
|
+
|
|
52
|
+
retransmit:
|
|
53
|
+
kind: int
|
|
54
|
+
config_get: "show running-config radius all"
|
|
55
|
+
config_get_token: '/^radius-server host %s.* retransmit (\d+).*$/'
|
|
56
|
+
config_set: '<state> radius-server host <ip> retransmit <count>'
|
|
57
|
+
default_value: ~
|
|
58
|
+
|
|
59
|
+
timeout:
|
|
60
|
+
kind: int
|
|
61
|
+
config_get: "show running-config radius all"
|
|
62
|
+
config_get_token: '/^radius-server host %s.* timeout (\d+).*$/'
|
|
63
|
+
config_set: '<state> radius-server host <ip> timeout <timeout>'
|
|
64
|
+
default_value: ~
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# radius_server_group
|
|
2
|
+
---
|
|
3
|
+
_template:
|
|
4
|
+
multiple: true
|
|
5
|
+
default_value: []
|
|
6
|
+
config_get: "show running-config radius all"
|
|
7
|
+
|
|
8
|
+
group:
|
|
9
|
+
config_get_token: '/^aaa group server radius (\S+)/'
|
|
10
|
+
config_set: '<state> aaa group server radius <name>'
|
|
11
|
+
|
|
12
|
+
servers:
|
|
13
|
+
config_get_token: ['/^aaa group server radius %s $/i', '/server (\S+)/']
|
|
14
|
+
config_set: ['aaa group server radius <group>', '<state> server <ip>']
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# show_version
|
|
2
|
+
---
|
|
3
|
+
_template:
|
|
4
|
+
config_get: 'sh version'
|
|
5
|
+
cli_nexus:
|
|
6
|
+
test_config_get: "sh version | no-more"
|
|
7
|
+
|
|
8
|
+
board:
|
|
9
|
+
config_get_token: 'proc_board_id'
|
|
10
|
+
|
|
11
|
+
boot_image:
|
|
12
|
+
config_get_token: "kick_file_name"
|
|
13
|
+
test_config_get_regex: '/.*NXOS image file is: (.*)$.*/'
|
|
14
|
+
|
|
15
|
+
cpu:
|
|
16
|
+
config_get_token: 'cpu_name'
|
|
17
|
+
|
|
18
|
+
description:
|
|
19
|
+
config_get_token: "chassis_id"
|
|
20
|
+
cli_nexus:
|
|
21
|
+
/N7/:
|
|
22
|
+
test_config_get_regex: '/.*Hardware\n cisco (\w+ \w+ \(\w+ \w+\) \w+).*/'
|
|
23
|
+
else:
|
|
24
|
+
# Hardware
|
|
25
|
+
# cisco Nexus9000 C9396PX Chassis
|
|
26
|
+
#
|
|
27
|
+
# Other variants for the line of interest:
|
|
28
|
+
# cisco Nexus9000 C9504 (4 Slot) Chassis ("Supervisor Module")
|
|
29
|
+
# ^-module_id-ignore!-^
|
|
30
|
+
# cisco Nexus3000 C3132Q Chassis
|
|
31
|
+
# cisco N3K-C3048TP-1GE
|
|
32
|
+
test_config_get_regex: '/Hardware\n cisco (([^(\n]+|\(\d+ Slot\))+\w+)/'
|
|
33
|
+
|
|
34
|
+
full:
|
|
35
|
+
config_get: "sh version"
|
|
36
|
+
|
|
37
|
+
header:
|
|
38
|
+
config_get_token: "header_str"
|
|
39
|
+
|
|
40
|
+
host_name:
|
|
41
|
+
cli_nexus:
|
|
42
|
+
config_get_token: "host_name"
|
|
43
|
+
|
|
44
|
+
last_reset_reason:
|
|
45
|
+
config_get_token: "rr_reason"
|
|
46
|
+
test_config_get_regex: '/.*\nLast reset.*\n\n? Reason: (.*)\n/'
|
|
47
|
+
|
|
48
|
+
last_reset_time:
|
|
49
|
+
kind: string
|
|
50
|
+
default_value: ''
|
|
51
|
+
config_get_token: "rr_ctime"
|
|
52
|
+
test_config_get_regex: '/.*\nLast reset at \d+ usecs after (.*)\n/'
|
|
53
|
+
|
|
54
|
+
system_image:
|
|
55
|
+
cli_nexus:
|
|
56
|
+
/N7/:
|
|
57
|
+
config_get_token: "isan_file_name"
|
|
58
|
+
test_config_get_regex: '/.*system image file is: (.*)$.*/'
|
|
59
|
+
else:
|
|
60
|
+
config_get_token: "kick_file_name"
|
|
61
|
+
test_config_get_regex: '/.*NXOS image file is: (.*)$.*/'
|
|
62
|
+
|
|
63
|
+
uptime:
|
|
64
|
+
config_get_token: '/uptime is (.*)/'
|
|
65
|
+
|
|
66
|
+
version:
|
|
67
|
+
cli_nexus:
|
|
68
|
+
config_get_token: "kickstart_ver_str"
|
|
69
|
+
test_config_get_regex: [
|
|
70
|
+
/\nkickstart_ver_str\s+(.+)\n/,
|
|
71
|
+
'/.*NXOS:\s+version (.*)\n/'
|
|
72
|
+
]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# snmp_community
|
|
2
|
+
---
|
|
3
|
+
acl:
|
|
4
|
+
config_get: "show running snmp all"
|
|
5
|
+
config_get_token: '/^snmp-server community %s use-acl (.*)$/'
|
|
6
|
+
config_set: "%s snmp-server community %s use-acl %s"
|
|
7
|
+
default_value: ""
|
|
8
|
+
|
|
9
|
+
all_communities:
|
|
10
|
+
multiple: true
|
|
11
|
+
config_get: "show running snmp all"
|
|
12
|
+
config_get_token: '/^snmp-server community (\S+) /'
|
|
13
|
+
|
|
14
|
+
community:
|
|
15
|
+
config_get: "show running snmp all"
|
|
16
|
+
config_get_token: '/^snmp-server community (%s) group .*$/'
|
|
17
|
+
config_set: "%s snmp-server community %s group %s"
|
|
18
|
+
|
|
19
|
+
group:
|
|
20
|
+
config_get: "show running snmp all"
|
|
21
|
+
config_get_token: '/^snmp-server community %s group (.*)$/'
|
|
22
|
+
config_set: "snmp-server community %s group %s"
|
|
23
|
+
default_value: "network-operator"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# snmp_notification_receiver
|
|
2
|
+
---
|
|
3
|
+
port:
|
|
4
|
+
config_get: "show running-config snmp all"
|
|
5
|
+
config_get_token: '/^snmp-server host %s.*version.* udp-port (\d+).*$/'
|
|
6
|
+
default_value: null
|
|
7
|
+
|
|
8
|
+
receivers:
|
|
9
|
+
config_get: "show running snmp all"
|
|
10
|
+
config_get_token: '/^snmp-server host (\S+) (traps|informs)/'
|
|
11
|
+
config_set: "<state> snmp-server host <ip> <type> version <version> <security> <username> <udp_port>"
|
|
12
|
+
multiple:
|
|
13
|
+
|
|
14
|
+
security:
|
|
15
|
+
config_get: "show running-config snmp all"
|
|
16
|
+
config_get_token: '/^snmp-server host %s.* version 3 (auth|noauth|priv).*$/'
|
|
17
|
+
default_value: null
|
|
18
|
+
|
|
19
|
+
source_interface:
|
|
20
|
+
config_get: "show running-config snmp all"
|
|
21
|
+
config_get_token: '/^snmp-server host %s.* source-interface (\S+).*$/'
|
|
22
|
+
config_set: "snmp-server host <ip> source-interface <source_interface> <port>"
|
|
23
|
+
default_value: null
|
|
24
|
+
|
|
25
|
+
type:
|
|
26
|
+
config_get: "show running-config snmp all"
|
|
27
|
+
config_get_token: '/^snmp-server host %s (traps|informs).*$/'
|
|
28
|
+
default_value: null
|
|
29
|
+
|
|
30
|
+
username:
|
|
31
|
+
config_get: "show running-config snmp all"
|
|
32
|
+
config_get_token: '/^snmp-server host %s.*version.* (\S+)$/'
|
|
33
|
+
default_value: null
|
|
34
|
+
|
|
35
|
+
username_with_port:
|
|
36
|
+
config_get: "show running-config snmp all"
|
|
37
|
+
config_get_token: '/^snmp-server host %s.*version.* (\S+) udp-port/'
|
|
38
|
+
default_value: null
|
|
39
|
+
|
|
40
|
+
version:
|
|
41
|
+
config_get: "show running-config snmp all"
|
|
42
|
+
config_get_token: '/^snmp-server host %s.* version (\S+).*$/'
|
|
43
|
+
default_value: null
|
|
44
|
+
|
|
45
|
+
vrf:
|
|
46
|
+
config_get: "show running-config snmp all"
|
|
47
|
+
config_get_token: '/^snmp-server host %s.* use-vrf (\S+).*$/'
|
|
48
|
+
config_set: "snmp-server host <ip> use-vrf <vrf> <port>"
|
|
49
|
+
default_value: null
|
|
50
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# snmp_server
|
|
2
|
+
---
|
|
3
|
+
aaa_user_cache_timeout:
|
|
4
|
+
cli_nexus:
|
|
5
|
+
kind: int
|
|
6
|
+
config_get: "show snmp internal globals"
|
|
7
|
+
config_get_token: '/AAA Cache Timeout :(\d+)/'
|
|
8
|
+
config_set: "%s snmp-server aaa-user cache-timeout %d"
|
|
9
|
+
default_value: 3600
|
|
10
|
+
|
|
11
|
+
contact:
|
|
12
|
+
config_get: "show snmp"
|
|
13
|
+
config_get_token: "sys_contact"
|
|
14
|
+
config_set: "%s snmp-server contact %s"
|
|
15
|
+
default_value: ""
|
|
16
|
+
|
|
17
|
+
global_enforce_priv:
|
|
18
|
+
kind: boolean
|
|
19
|
+
config_get: "show run snmp all"
|
|
20
|
+
config_get_token: '/^(?:no )?snmp-server globalEnforcePriv/'
|
|
21
|
+
config_set: "%s snmp-server globalEnforcePriv"
|
|
22
|
+
default_value: false
|
|
23
|
+
|
|
24
|
+
location:
|
|
25
|
+
config_get: "show snmp"
|
|
26
|
+
config_get_token: "sys_location"
|
|
27
|
+
config_set: "%s snmp-server location %s"
|
|
28
|
+
default_value: ""
|
|
29
|
+
|
|
30
|
+
packet_size:
|
|
31
|
+
kind: int
|
|
32
|
+
config_get: "show snmp internal globals"
|
|
33
|
+
config_get_token: '/SNMP Max packet size :(\d+)/'
|
|
34
|
+
config_set: "%s snmp-server packetsize %d"
|
|
35
|
+
default_value: 1500
|
|
36
|
+
|
|
37
|
+
protocol:
|
|
38
|
+
kind: boolean
|
|
39
|
+
auto_default: false
|
|
40
|
+
config_get: "show running-config snmp all"
|
|
41
|
+
config_get_token: ['/^snmp.server protocol enable/']
|
|
42
|
+
config_set: "%s snmp-server protocol enable"
|
|
43
|
+
default_value: true
|
|
44
|
+
|
|
45
|
+
tcp_session_auth:
|
|
46
|
+
kind: boolean
|
|
47
|
+
auto_default: false
|
|
48
|
+
config_get: "show running-config snmp all"
|
|
49
|
+
config_get_token: ['/^snmp.server tcp.session auth$/']
|
|
50
|
+
config_set: "%s snmp-server tcp-session %s"
|
|
51
|
+
default_value: true
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# snmp_user
|
|
2
|
+
---
|
|
3
|
+
_template:
|
|
4
|
+
multiple: true
|
|
5
|
+
|
|
6
|
+
auth_password:
|
|
7
|
+
config_get: "show run snmp all"
|
|
8
|
+
config_get_token: '/snmp-server user (\S+) \S+ auth \S+ (\S+)/'
|
|
9
|
+
default_value: ""
|
|
10
|
+
|
|
11
|
+
# The getter format will not have group info if engine id is configured.
|
|
12
|
+
auth_password_with_engine_id:
|
|
13
|
+
config_get: "show run snmp all"
|
|
14
|
+
config_get_token: '/snmp-server user (\S+) auth \S+ (\S+) .*engineID (\S+)/'
|
|
15
|
+
default_value: ""
|
|
16
|
+
|
|
17
|
+
auth_protocol:
|
|
18
|
+
default_value: "md5"
|
|
19
|
+
/N9K/:
|
|
20
|
+
# TODO: is this really N9K-specific?
|
|
21
|
+
config_get_token: "auth"
|
|
22
|
+
|
|
23
|
+
engine_id:
|
|
24
|
+
default_value: ""
|
|
25
|
+
|
|
26
|
+
group:
|
|
27
|
+
default_value: "network-operator"
|
|
28
|
+
/N9K/:
|
|
29
|
+
# TODO: is this really N9K-specific?
|
|
30
|
+
config_get_token: "group"
|
|
31
|
+
|
|
32
|
+
priv_password:
|
|
33
|
+
config_get: "show run snmp all"
|
|
34
|
+
config_get_token: '/snmp-server user (\S+) \S+ auth \S+ \S+ priv.*(0x\S+)/'
|
|
35
|
+
default_value: ""
|
|
36
|
+
|
|
37
|
+
# The getter format will not have group info if engine id is configured.
|
|
38
|
+
priv_password_with_engine_id:
|
|
39
|
+
config_get: "show run snmp all"
|
|
40
|
+
config_get_token: '/snmp-server user (\S+) auth \S+ \S+ priv .*(0x\S+) .*engineID (\S+)/'
|
|
41
|
+
default_value: ""
|
|
42
|
+
|
|
43
|
+
priv_protocol:
|
|
44
|
+
default_value: "des"
|
|
45
|
+
/N9K/:
|
|
46
|
+
# TODO: is this really N9K-specific?
|
|
47
|
+
config_get_token: "priv"
|
|
48
|
+
|
|
49
|
+
# Config string syntax:
|
|
50
|
+
# [no] snmp-server user <user> [group] [auth {md5|sha} <passwd1> \
|
|
51
|
+
# [priv [aes-128] <passwd2>] [localizedkey] [engineID <id>]]
|
|
52
|
+
user:
|
|
53
|
+
config_get: "show run snmp all | i 'snmp-server user'"
|
|
54
|
+
config_get_token: '/^snmp.server user (.*)$/'
|
|
55
|
+
config_set: "%s snmp-server user %s %s %s %s %s %s"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# snmpnotification
|
|
2
|
+
---
|
|
3
|
+
enable:
|
|
4
|
+
config_get: "sh run snmp all | include 'snmp-server enable traps'"
|
|
5
|
+
config_get_token: '/^snmp-server enable traps <trap_name> ?$/'
|
|
6
|
+
config_set: "<state> snmp-server enable traps <trap_name>"
|
|
7
|
+
|
|
8
|
+
notifications:
|
|
9
|
+
config_get: "sh run snmp all | include 'snmp-server enable traps'"
|
|
10
|
+
config_get_token: '/.*snmp-server enable traps (.*)?$/'
|
|
11
|
+
multiple:
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# syslog_server
|
|
2
|
+
---
|
|
3
|
+
level:
|
|
4
|
+
kind: int
|
|
5
|
+
config_get: "show running-config all | include '^logging server'"
|
|
6
|
+
config_get_token: '/^logging server %s (\d).*/'
|
|
7
|
+
default_value: ~
|
|
8
|
+
|
|
9
|
+
server:
|
|
10
|
+
multiple: true
|
|
11
|
+
config_get: "show running-config all | include '^logging server'"
|
|
12
|
+
config_get_token: '/^logging server (\S+).*/'
|
|
13
|
+
config_set: '<state> logging server <ip> <level> <vrf>'
|
|
14
|
+
|
|
15
|
+
vrf:
|
|
16
|
+
config_get: "show running-config all | include '^logging server(.*)(use-vrf)'"
|
|
17
|
+
config_get_token: '/^logging server %s.* use-vrf (.*)$/'
|
|
18
|
+
default_value: default
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# tacacs_server
|
|
2
|
+
---
|
|
3
|
+
deadtime:
|
|
4
|
+
kind: int
|
|
5
|
+
config_get: "show run tacacs all"
|
|
6
|
+
config_get_token: '/^tacacs-server deadtime\s+(\d+)/'
|
|
7
|
+
config_set: "%s tacacs-server deadtime %d"
|
|
8
|
+
default_value: 0
|
|
9
|
+
|
|
10
|
+
directed_request:
|
|
11
|
+
kind: boolean
|
|
12
|
+
# oddly, directed request must be retrieved from aaa output
|
|
13
|
+
config_get: "show running aaa all"
|
|
14
|
+
config_get_token: '/(?:no)?\s*tacacs-server directed-request/'
|
|
15
|
+
config_set: "%s tacacs-server directed-request"
|
|
16
|
+
default_value: false
|
|
17
|
+
|
|
18
|
+
encryption:
|
|
19
|
+
config_set: "%s tacacs-server key %d %s"
|
|
20
|
+
|
|
21
|
+
encryption_password:
|
|
22
|
+
config_get: "show run tacacs all"
|
|
23
|
+
config_get_token: '/^tacacs-server key (\d+)\s+(\S+)/'
|
|
24
|
+
default_value: ""
|
|
25
|
+
|
|
26
|
+
encryption_type:
|
|
27
|
+
auto_default: false
|
|
28
|
+
config_get: "show run tacacs all"
|
|
29
|
+
config_get_token: '/^tacacs-server key (\d+)\s+(\S+)/'
|
|
30
|
+
default_value: 0
|
|
31
|
+
|
|
32
|
+
feature:
|
|
33
|
+
kind: boolean
|
|
34
|
+
config_get: "show run tacacs all"
|
|
35
|
+
config_get_token: '/^feature tacacs/'
|
|
36
|
+
config_set: "%s feature tacacs+"
|
|
37
|
+
|
|
38
|
+
source_interface:
|
|
39
|
+
config_get: "show run tacacs all"
|
|
40
|
+
config_get_token: '/(no)?\s*ip tacacs source-interface\s+(\S+)?/'
|
|
41
|
+
config_set: "%s ip tacacs source-interface %s"
|
|
42
|
+
default_value: ""
|
|
43
|
+
|
|
44
|
+
timeout:
|
|
45
|
+
kind: int
|
|
46
|
+
config_get: "show run tacacs all"
|
|
47
|
+
config_get_token: '/tacacs-server timeout\s+(\d+)/'
|
|
48
|
+
config_set: "%s tacacs-server timeout %d"
|
|
49
|
+
default_value: 5
|