cisco_node_utils 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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"