cisco_node_utils 1.7.0 → 1.8.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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/CONTRIBUTING.md +2 -2
  4. data/README.md +2 -1
  5. data/cisco_node_utils.gemspec +1 -0
  6. data/docs/README-develop-node-utils-APIs.md +2 -1
  7. data/lib/cisco_node_utils/aaa_authentication_login_service.rb +2 -2
  8. data/lib/cisco_node_utils/ace.rb +2 -0
  9. data/lib/cisco_node_utils/bgp.rb +34 -91
  10. data/lib/cisco_node_utils/bridge_domain.rb +8 -13
  11. data/lib/cisco_node_utils/client/nxapi/client.rb +10 -3
  12. data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +12 -12
  13. data/lib/cisco_node_utils/cmd_ref/README_YAML.md +2 -1
  14. data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +1 -0
  15. data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +3 -3
  16. data/lib/cisco_node_utils/cmd_ref/bgp.yaml +5 -15
  17. data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +1 -1
  18. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +1 -0
  19. data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +14 -36
  20. data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +1 -1
  21. data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +5 -3
  22. data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +1 -1
  23. data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +1 -1
  24. data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +1 -1
  25. data/lib/cisco_node_utils/cmd_ref/feature.yaml +3 -3
  26. data/lib/cisco_node_utils/cmd_ref/interface.yaml +25 -15
  27. data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +5 -0
  28. data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +6 -0
  29. data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +1 -1
  30. data/lib/cisco_node_utils/cmd_ref/inventory.yaml +9 -0
  31. data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +1 -1
  32. data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +1 -1
  33. data/lib/cisco_node_utils/cmd_ref/object_group.yaml +32 -0
  34. data/lib/cisco_node_utils/cmd_ref/ospf.yaml +1 -1
  35. data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +9 -7
  36. data/lib/cisco_node_utils/cmd_ref/radius_global.yaml +7 -0
  37. data/lib/cisco_node_utils/cmd_ref/route_map.yaml +26 -25
  38. data/lib/cisco_node_utils/cmd_ref/show_version.yaml +11 -3
  39. data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +4 -0
  40. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +5 -1
  41. data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +8 -8
  42. data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +3 -2
  43. data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +21 -1
  44. data/lib/cisco_node_utils/cmd_ref/tacacs_global.yaml +7 -0
  45. data/lib/cisco_node_utils/cmd_ref/vdc.yaml +1 -1
  46. data/lib/cisco_node_utils/cmd_ref/vlan.yaml +5 -4
  47. data/lib/cisco_node_utils/cmd_ref/vpc.yaml +9 -9
  48. data/lib/cisco_node_utils/cmd_ref/vrf.yaml +1 -0
  49. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +1 -0
  50. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +3 -5
  51. data/lib/cisco_node_utils/command_reference.rb +11 -1
  52. data/lib/cisco_node_utils/interface.rb +46 -8
  53. data/lib/cisco_node_utils/interface_ospf.rb +2 -2
  54. data/lib/cisco_node_utils/interface_portchannel.rb +2 -2
  55. data/lib/cisco_node_utils/node.rb +9 -0
  56. data/lib/cisco_node_utils/ntp_auth_key.rb +1 -1
  57. data/lib/cisco_node_utils/object_group.rb +75 -0
  58. data/lib/cisco_node_utils/object_group_entry.rb +143 -0
  59. data/lib/cisco_node_utils/portchannel_global.rb +2 -2
  60. data/lib/cisco_node_utils/radius_global.rb +25 -1
  61. data/lib/cisco_node_utils/router_ospf.rb +3 -3
  62. data/lib/cisco_node_utils/syslog_server.rb +38 -42
  63. data/lib/cisco_node_utils/syslog_settings.rb +74 -3
  64. data/lib/cisco_node_utils/tacacs_global.rb +47 -14
  65. data/lib/cisco_node_utils/tacacs_server.rb +1 -5
  66. data/lib/cisco_node_utils/version.rb +1 -1
  67. data/lib/cisco_node_utils/vpc.rb +1 -4
  68. data/lib/cisco_node_utils/vtp.rb +4 -2
  69. data/spec/schema.yaml +3 -0
  70. data/tests/ciscotest.rb +16 -9
  71. data/tests/test_ace.rb +2 -0
  72. data/tests/test_bgp_af.rb +10 -2
  73. data/tests/test_bgp_neighbor_af.rb +6 -2
  74. data/tests/test_bridge_domain.rb +7 -0
  75. data/tests/test_feature.rb +2 -2
  76. data/tests/test_interface.rb +30 -4
  77. data/tests/test_node_ext.rb +2 -2
  78. data/tests/test_object_group.rb +122 -0
  79. data/tests/test_platform.rb +1 -1
  80. data/tests/test_portchannel_global.rb +1 -0
  81. data/tests/test_radius_global.rb +22 -2
  82. data/tests/test_route_map.rb +11 -8
  83. data/tests/test_router_bgp.rb +7 -132
  84. data/tests/test_router_ospf_area.rb +6 -6
  85. data/tests/test_snmpuser.rb +19 -11
  86. data/tests/test_syslog_server.rb +11 -31
  87. data/tests/test_syslog_settings.rb +46 -5
  88. data/tests/test_tacacs_global.rb +42 -18
  89. data/tests/test_vpc.rb +3 -0
  90. data/tests/test_vxlan_vtep_vni.rb +0 -3
  91. data/tests/yum_package.yaml +5 -0
  92. metadata +21 -3
@@ -6,6 +6,11 @@ _template:
6
6
  get_command: 'show running interface all'
7
7
  context: ["interface %s"]
8
8
 
9
+ all_interfaces:
10
+ multiple:
11
+ get_context: ~
12
+ get_value: '/^interface (.*)/'
13
+
9
14
  area:
10
15
  get_value: '/^\s*ip router ospf (\S+) area (\S+)/'
11
16
  set_value: "%s ip router ospf %s area %s"
@@ -7,6 +7,11 @@ _template:
7
7
  get_context: ['/^interface %s$/i']
8
8
  set_context: ["interface %s"]
9
9
 
10
+ all_interfaces:
11
+ multiple:
12
+ get_context: ~
13
+ get_value: '/^interface (.*)/'
14
+
10
15
  bfd_per_link:
11
16
  kind: boolean
12
17
  get_value: '/^bfd per-link$/'
@@ -38,6 +43,7 @@ lacp_max_bundle:
38
43
  default_value: 16
39
44
  N6k: *lacp_max_bundle_16
40
45
  N7k: *lacp_max_bundle_16
46
+ N3k-F: *lacp_max_bundle_32
41
47
  N9k-F: *lacp_max_bundle_32
42
48
  N9k: *lacp_max_bundle_32
43
49
 
@@ -1,6 +1,6 @@
1
1
  # interface_service_vni
2
2
  ---
3
- _exclude: [N3k, N5k, N6k, N9k-F, N9k, ios_xr]
3
+ _exclude: [N3k, N5k, N6k, N3k-F, N9k-F, N9k, ios_xr]
4
4
 
5
5
  _template:
6
6
  get_command: 'show running interface all'
@@ -22,15 +22,24 @@ productid:
22
22
  get_value: '/"Rack 0".*\n.*PID: ([^ ,]+)/'
23
23
  nexus:
24
24
  get_value: ["name \"Chassis\"", "productid"]
25
+ N5k: &productid5k
26
+ get_value: ["name Chassis", "productid"]
27
+ N6k: *productid5k
25
28
 
26
29
  serialnum:
27
30
  ios_xr:
28
31
  get_value: '/"Rack 0".*\n.*SN: ([^ ,]+)/'
29
32
  nexus:
30
33
  get_value: ["name \"Chassis\"", "serialnum"]
34
+ N5k: &serialnum5k
35
+ get_value: ["name Chassis", "serialnum"]
36
+ N6k: *serialnum5k
31
37
 
32
38
  versionid:
33
39
  ios_xr:
34
40
  get_value: '/"Rack 0".*\n.*VID: ([^ ,]+)/'
35
41
  nexus:
36
42
  get_value: ["name \"Chassis\"", "vendorid"]
43
+ N5k: &vendorid5k
44
+ get_value: ["name Chassis", "serialnum"]
45
+ N6k: *vendorid5k
@@ -1,6 +1,6 @@
1
1
  # itd_device_group
2
2
  ---
3
- _exclude: [N3k, N5k, N6k, N9k-F, ios_xr]
3
+ _exclude: [N3k, N5k, N6k, N3k-F, N9k-F, ios_xr]
4
4
 
5
5
  _template:
6
6
  get_command: "show running-config all | section itd"
@@ -1,6 +1,6 @@
1
1
  # itd_service
2
2
  ---
3
- _exclude: [N3k, N5k, N6k, N9k-F, ios_xr]
3
+ _exclude: [N3k, N5k, N6k, N3k-F, N9k-F, ios_xr]
4
4
 
5
5
  _template:
6
6
  get_command: "show running-config all | section itd"
@@ -0,0 +1,32 @@
1
+ # object_group
2
+ ---
3
+ _exclude: [N5k, N6k, ios_xr]
4
+
5
+ _template:
6
+ get_command: "show running-config | section object-group"
7
+ get_context: ['/^object-group <afi> <type> <grp_name>/']
8
+ set_context: ["object-group <afi> <type> <grp_name>"]
9
+
10
+ all_entries:
11
+ multiple:
12
+ get_value: '/^(\d+) .+$/'
13
+
14
+ all_object_groups:
15
+ multiple:
16
+ get_context: ~
17
+ get_value: '/^object-group (\S+) (\S+) (\S+)$/'
18
+
19
+ create:
20
+ set_context: ~
21
+ set_value: "object-group <afi> <type> <grp_name>"
22
+
23
+ destroy:
24
+ set_context: ~
25
+ set_value: "no object-group <afi> <type> <grp_name>"
26
+
27
+ entry:
28
+ get_value: '/^<seqno> .+$/'
29
+ set_value: "<state> <seqno> <address> <port>"
30
+
31
+ entry_destroy:
32
+ set_value: 'no <seqno>'
@@ -32,7 +32,7 @@ log_adjacency:
32
32
  default_value: :none
33
33
 
34
34
  process_initialized:
35
- _exclude: [ios_xr, N3k, N7k, N9k-F, N9k]
35
+ _exclude: [ios_xr, N3k, N7k, N3k-F, N9k-F, N9k]
36
36
  # ospf process initialization state
37
37
  kind: boolean
38
38
  context: ~
@@ -6,7 +6,7 @@ _template:
6
6
  get_command: "show running all"
7
7
 
8
8
  asymmetric:
9
- _exclude: [N3k, N5k, N6k, N9k-F, N9k]
9
+ _exclude: [N3k, N5k, N6k, N3k-F, N9k-F, N9k]
10
10
  default_value: false
11
11
 
12
12
  bundle_hash:
@@ -18,23 +18,24 @@ bundle_hash:
18
18
  N9k-F: &bundle_hash_ip_l4port
19
19
  default_value: 'ip-l4port'
20
20
  N9k: *bundle_hash_ip_l4port
21
+ N3k-F: *bundle_hash_ip_l4port
21
22
 
22
23
  bundle_select:
23
24
  default_value: 'src-dst'
24
25
 
25
26
  concatenation:
26
- _exclude: [N3k, N5k, N6k, N7k, N9k-F]
27
+ _exclude: [N3k, N5k, N6k, N7k, N3k-F, N9k-F]
27
28
  default_value: false
28
29
 
29
30
  hash_distribution:
30
- _exclude: [N3k, N5k, N6k, N9k-F, N9k]
31
+ _exclude: [N3k, N5k, N6k, N3k-F, N9k-F, N9k]
31
32
  get_value: '/^port.channel hash.distribution (.*)$/'
32
33
  set_context: ['terminal dont-ask']
33
34
  set_value: "port-channel hash-distribution %s"
34
35
  default_value: 'adaptive'
35
36
 
36
37
  hash_poly:
37
- _exclude: [N3k, N7k, N9k-F, N9k]
38
+ _exclude: [N3k, N7k, N3k-F, N9k-F, N9k]
38
39
  default_value: ~
39
40
 
40
41
  load_balance_type:
@@ -50,9 +51,10 @@ load_balance_type:
50
51
  default_only: "no_hash"
51
52
  N9k: &load_balance_type_symmetry
52
53
  default_only: "symmetry"
54
+ N3k-F: *load_balance_type_no_hash
53
55
 
54
56
  load_defer:
55
- _exclude: [N3k, N5k, N6k, N9k-F, N9k]
57
+ _exclude: [N3k, N5k, N6k, N3k-F, N9k-F, N9k]
56
58
  kind: int
57
59
  get_value: '/^port.channel load.defer (\d+)$/'
58
60
  set_value: "port-channel load-defer %s"
@@ -64,7 +66,7 @@ port_channel_load_balance:
64
66
  set_value: "port-channel load-balance %s %s %s %s %s %s"
65
67
 
66
68
  resilient:
67
- _exclude: [N5k, N6k, N7k, N9k-F]
69
+ _exclude: [N5k, N6k, N7k, N3k-F, N9k-F]
68
70
  kind: boolean
69
71
  get_value: '/^port-channel load-balance resilient$/'
70
72
  set_value: "%s port-channel load-balance resilient"
@@ -80,5 +82,5 @@ rotate:
80
82
  default_value: 0
81
83
 
82
84
  symmetry:
83
- _exclude: [N5k, N6k, N7k, N9k-F]
85
+ _exclude: [N5k, N6k, N7k, N3k-F, N9k-F]
84
86
  default_value: false
@@ -23,6 +23,13 @@ retransmit:
23
23
  ios_xr:
24
24
  default_value: 3
25
25
 
26
+ source_interface:
27
+ default_value: ~
28
+ get_value: '/^ip radius source-interface\s+(.*)$/'
29
+ set_value: '<state> ip radius source-interface <source_interface>'
30
+ nexus:
31
+ get_command: "show running-config all | include '^ip radius source-interface'"
32
+
26
33
  timeout:
27
34
  kind: int
28
35
  get_value: '/^radius-server timeout (\d+).*/'
@@ -45,46 +45,46 @@ match_community_exact_match:
45
45
  default_value: false
46
46
 
47
47
  match_evpn_route_type:
48
- _exclude: [N3k, N9k, N9k-F]
48
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
49
49
  multiple:
50
50
  get_value: '/^match evpn route-type (.*)$/'
51
51
  set_value: "<state> match evpn route-type <type>"
52
52
  default_value: []
53
53
 
54
54
  match_evpn_route_type_1:
55
- _exclude: [N3k, N9k, N9k-F]
55
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
56
56
  default_value: false
57
57
 
58
58
  match_evpn_route_type_2_all:
59
- _exclude: [N3k, N9k, N9k-F]
59
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
60
60
  default_value: false
61
61
 
62
62
  match_evpn_route_type_2_mac_ip:
63
- _exclude: [N3k, N9k, N9k-F]
63
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
64
64
  default_value: false
65
65
 
66
66
  match_evpn_route_type_2_mac_only:
67
- _exclude: [N3k, N9k, N9k-F]
67
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
68
68
  default_value: false
69
69
 
70
70
  match_evpn_route_type_3:
71
- _exclude: [N3k, N9k, N9k-F]
71
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
72
72
  default_value: false
73
73
 
74
74
  match_evpn_route_type_4:
75
- _exclude: [N3k, N9k, N9k-F]
75
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
76
76
  default_value: false
77
77
 
78
78
  match_evpn_route_type_5:
79
- _exclude: [N3k, N9k, N9k-F]
79
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
80
80
  default_value: false
81
81
 
82
82
  match_evpn_route_type_6:
83
- _exclude: [N3k, N9k, N9k-F]
83
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
84
84
  default_value: false
85
85
 
86
86
  match_evpn_route_type_all:
87
- _exclude: [N3k, N9k, N9k-F]
87
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
88
88
  default_value: false
89
89
 
90
90
  match_ext_community:
@@ -195,13 +195,13 @@ match_ipv6_route_src_prefix_list:
195
195
  default_value: []
196
196
 
197
197
  match_length:
198
- _exclude: [N3k, N9k, N9k-F]
198
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
199
199
  get_value: '/^match length (\d+) (\d+)$/'
200
200
  set_value: "<state> match length <min> <max>"
201
201
  default_value: []
202
202
 
203
203
  match_mac_list:
204
- _exclude: [N3k, N9k, N9k-F]
204
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
205
205
  get_value: '/^match mac-list (.*)$/'
206
206
  set_value: "<state> match mac-list <mac>"
207
207
  default_value: []
@@ -213,8 +213,8 @@ match_metric:
213
213
  default_value: []
214
214
 
215
215
  match_ospf_area:
216
- _exclude: [N5k, N6k, N7k, N9k-F]
217
- os_version: 'N3k, N9k:7.0.3.I5.1'
216
+ _exclude: [N5k, N6k, N7k, N3k-F, N9k-F]
217
+ os_version: 'N35:7.0.3.I7.1; N3k, N9k:7.0.3.I5.1'
218
218
  get_value: '/^match ospf-area (.*)$/'
219
219
  set_value: "<state> match ospf-area <area>"
220
220
  default_value: []
@@ -275,7 +275,7 @@ match_tag:
275
275
  default_value: []
276
276
 
277
277
  match_vlan:
278
- _exclude: [N3k, N9k, N9k-F]
278
+ _exclude: [N35, N3k, N3k-F, N9k, N9k-F]
279
279
  get_value: '/^match vlan (.*)$/'
280
280
  set_value: "<state> match vlan <range>"
281
281
  default_value: ''
@@ -305,7 +305,7 @@ set_comm_list:
305
305
  default_value: false
306
306
 
307
307
  set_community:
308
- os_version: 'N9k:7.0.3.I5.1'
308
+ os_version: 'N35:7.0.3.I7.1; N9k:7.0.3.I5.1'
309
309
  get_value: '/^set community(?:\s+.*)?$/'
310
310
  set_value: "<state> set community <string>"
311
311
 
@@ -396,6 +396,7 @@ set_extcommunity_cost_device:
396
396
  N7k: *set_extcommunity_device_no_str
397
397
  N9k: *set_extcommunity_device_str
398
398
  N9k-F: *set_extcommunity_device_str
399
+ N3k-F: *set_extcommunity_device_str
399
400
 
400
401
  set_extcommunity_cost_igp:
401
402
  default_value: []
@@ -425,13 +426,13 @@ set_interface:
425
426
  default_value: false
426
427
 
427
428
  set_ipv4_default_next_hop:
428
- _exclude: [N5k, N6k, N9k, N9k-F]
429
+ _exclude: [N35, N5k, N6k, N3k-F, N9k, N9k-F]
429
430
  get_value: '/^set ip default next-hop (.*)$/'
430
431
  set_value: "<state> set ip default next-hop <nh>"
431
432
  default_value: []
432
433
 
433
434
  set_ipv4_default_next_hop_load_share:
434
- _exclude: [N5k, N6k, N9k, N9k-F]
435
+ _exclude: [N35, N5k, N6k, N3k-F, N9k, N9k-F]
435
436
  default_value: false
436
437
 
437
438
  set_ipv4_next_hop:
@@ -442,7 +443,7 @@ set_ipv4_next_hop:
442
443
 
443
444
  set_ipv4_next_hop_load_share:
444
445
  _exclude: [N5k, N6k]
445
- os_version: 'N9k-F:7.0.3.F2.1; N9k:7.0.3.I5.1'
446
+ os_version: 'N35:7.0.3.I7.1; N9k-F:7.0.3.F2.1; N9k:7.0.3.I5.1'
446
447
  default_value: false
447
448
 
448
449
  set_ipv4_next_hop_peer_addr:
@@ -453,7 +454,7 @@ set_ipv4_next_hop_peer_addr:
453
454
 
454
455
  set_ipv4_next_hop_redist:
455
456
  kind: boolean
456
- os_version: 'N3k, N9k:7.0.3.I5.1'
457
+ os_version: 'N35:7.0.3.I7.1; N3k, N9k:7.0.3.I5.1'
457
458
  get_value: '/^set ip next-hop redist-unchanged$/'
458
459
  set_value: "<state> set ip next-hop redist-unchanged"
459
460
  default_value: false
@@ -476,13 +477,13 @@ set_ipv4_prefix:
476
477
  default_value: false
477
478
 
478
479
  set_ipv6_default_next_hop:
479
- _exclude: [N5k, N6k, N9k, N9k-F]
480
+ _exclude: [N35, N5k, N6k, N3k-F, N9k, N9k-F]
480
481
  get_value: '/^set ipv6 default next-hop (.*)$/'
481
482
  set_value: "<state> set ipv6 default next-hop <nh>"
482
483
  default_value: []
483
484
 
484
485
  set_ipv6_default_next_hop_load_share:
485
- _exclude: [N5k, N6k, N9k, N9k-F]
486
+ _exclude: [N35, N5k, N6k, N3k-F, N9k, N9k-F]
486
487
  default_value: false
487
488
 
488
489
  set_ipv6_next_hop:
@@ -493,7 +494,7 @@ set_ipv6_next_hop:
493
494
 
494
495
  set_ipv6_next_hop_load_share:
495
496
  _exclude: [N5k, N6k]
496
- os_version: 'N9k-F:7.0.3.F2.1; N9k:7.0.3.I5.1'
497
+ os_version: 'N35:7.0.3.I7.1; N9k-F:7.0.3.F2.1; N9k:7.0.3.I5.1'
497
498
  default_value: false
498
499
 
499
500
  set_ipv6_next_hop_peer_addr:
@@ -504,7 +505,7 @@ set_ipv6_next_hop_peer_addr:
504
505
 
505
506
  set_ipv6_next_hop_redist:
506
507
  kind: boolean
507
- os_version: 'N3k, N9k:7.0.3.I5.1'
508
+ os_version: 'N35:7.0.3.I7.1; N3k, N9k:7.0.3.I5.1'
508
509
  get_value: '/^set ipv6 next-hop redist-unchanged$/'
509
510
  set_value: "<state> set ipv6 next-hop redist-unchanged"
510
511
  default_value: false
@@ -588,7 +589,7 @@ set_tag:
588
589
  default_value: false
589
590
 
590
591
  set_vrf:
591
- _exclude: [N3k, N5k, N6k, N9k, N9k-F]
592
+ _exclude: [N35, N3k, N5k, N6k, N3k-F, N9k, N9k-F]
592
593
  get_value: '/^set vrf (\S+)$/'
593
594
  set_value: "<state> set vrf <vrf>"
594
595
  default_value: false
@@ -1,7 +1,15 @@
1
1
  # show_version
2
2
  ---
3
3
  _template:
4
- get_command: 'sh version'
4
+ N5k: &template5k
5
+ get_command: 'sh version'
6
+ N6k: *template5k
7
+ N3k: &template3k
8
+ get_command: 'sh hardware'
9
+ N7k: *template3k
10
+ N9k: *template3k
11
+ N3k-F: *template3k
12
+ N9k-F: *template3k
5
13
  nexus:
6
14
  data_format: nxapi_structured
7
15
  ios_xr:
@@ -65,9 +73,9 @@ system_image:
65
73
  get_value: '/^\s*(\S*)\s*version.*\[Boot image\]$/'
66
74
 
67
75
  uptime:
68
- # TODO: redundant with show_system, uptime?
76
+ get_command: 'sh system uptime'
69
77
  get_data_format: cli
70
- get_value: '/uptime is (.*)/'
78
+ get_value: '/Kernel uptime:\s+(.*)/'
71
79
 
72
80
  version:
73
81
  nexus:
@@ -8,6 +8,7 @@ _template:
8
8
  get_context: ["TABLE_snmp_community", "ROW_snmp_community"]
9
9
  N9k: *template_structured
10
10
  N9k-F: *template_structured
11
+ N3k-F: *template_structured
11
12
 
12
13
  acl:
13
14
  N3k: &acl_structured_get
@@ -16,6 +17,7 @@ acl:
16
17
  set_value: "<state> snmp-server community <name> use-acl <acl>"
17
18
  N9k: *acl_structured_get
18
19
  N9k-F: *acl_structured_get
20
+ N3k-F: *acl_structured_get
19
21
  ios_xr:
20
22
  get_command: "show running snmp"
21
23
  get_value: '/^snmp-server community <name> IPv4 (.*)$/'
@@ -34,6 +36,7 @@ all_communities:
34
36
  get_value: 'community_name'
35
37
  N9k: *all_structured
36
38
  N9k-F: *all_structured
39
+ N3k-F: *all_structured
37
40
  N5k: &all_cli
38
41
  get_command: "show running snmp all"
39
42
  get_value: '/^snmp-server community (\S+) /'
@@ -57,6 +60,7 @@ group:
57
60
  get_value: ["community_name <name>", "grouporaccess", '/^(?:Community groupname:\s+)?(\S+)/']
58
61
  N9k: *group_structured_get
59
62
  N9k-F: *group_structured_get
63
+ N3k-F: *group_structured_get
60
64
  ios_xr: &group_cli_based_get
61
65
  kind: string
62
66
  get_command: "show running snmp all"