cisco_node_utils 1.4.1 → 1.5.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +8 -7
  4. data/docs/README-maintainers.md +0 -1
  5. data/lib/cisco_node_utils/aaa_authentication_login_service.rb +2 -2
  6. data/lib/cisco_node_utils/bgp.rb +2 -2
  7. data/lib/cisco_node_utils/cisco_cmn_utils.rb +16 -0
  8. data/lib/cisco_node_utils/client/utils.rb +7 -1
  9. data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +12 -12
  10. data/lib/cisco_node_utils/cmd_ref/README_YAML.md +35 -7
  11. data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +1 -1
  12. data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +4 -4
  13. data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +1 -1
  14. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +1 -1
  15. data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +1 -1
  16. data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +1 -1
  17. data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +5 -5
  18. data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +1 -1
  19. data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +5 -5
  20. data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +1 -1
  21. data/lib/cisco_node_utils/cmd_ref/feature.yaml +8 -3
  22. data/lib/cisco_node_utils/cmd_ref/hsrp_global.yaml +25 -0
  23. data/lib/cisco_node_utils/cmd_ref/interface.yaml +65 -14
  24. data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +117 -0
  25. data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +1 -1
  26. data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +1 -1
  27. data/lib/cisco_node_utils/cmd_ref/inventory.yaml +4 -8
  28. data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +1 -1
  29. data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +1 -1
  30. data/lib/cisco_node_utils/cmd_ref/ospf.yaml +1 -1
  31. data/lib/cisco_node_utils/cmd_ref/pim.yaml +6 -0
  32. data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +9 -9
  33. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +1 -1
  34. data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +8 -8
  35. data/lib/cisco_node_utils/cmd_ref/vdc.yaml +1 -1
  36. data/lib/cisco_node_utils/cmd_ref/vlan.yaml +16 -8
  37. data/lib/cisco_node_utils/cmd_ref/vpc.yaml +11 -11
  38. data/lib/cisco_node_utils/cmd_ref/vrf.yaml +2 -1
  39. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +1 -1
  40. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +1 -1
  41. data/lib/cisco_node_utils/command_reference.rb +8 -1
  42. data/lib/cisco_node_utils/domain_name.rb +17 -2
  43. data/lib/cisco_node_utils/feature.rb +14 -0
  44. data/lib/cisco_node_utils/hsrp_global.rb +97 -0
  45. data/lib/cisco_node_utils/interface.rb +146 -0
  46. data/lib/cisco_node_utils/interface_hsrp_group.rb +544 -0
  47. data/lib/cisco_node_utils/node.rb +93 -4
  48. data/lib/cisco_node_utils/pim.rb +17 -0
  49. data/lib/cisco_node_utils/portchannel_global.rb +2 -2
  50. data/lib/cisco_node_utils/version.rb +1 -1
  51. data/lib/cisco_node_utils/vlan.rb +2 -5
  52. data/lib/cisco_node_utils/yum.rb +11 -6
  53. data/spec/schema.yaml +3 -3
  54. data/tests/ciscotest.rb +25 -4
  55. data/tests/cmd_config.yaml +0 -2
  56. data/tests/test_bgp_af.rb +13 -2
  57. data/tests/test_feature.rb +5 -0
  58. data/tests/test_hsrp_global.rb +79 -0
  59. data/tests/test_interface.rb +23 -0
  60. data/tests/test_interface_hsrp.rb +134 -0
  61. data/tests/test_interface_hsrp_group.rb +582 -0
  62. data/tests/test_node_ext.rb +7 -1
  63. data/tests/test_pim.rb +27 -3
  64. data/tests/test_platform.rb +1 -1
  65. data/tests/test_radius_global.rb +4 -5
  66. data/tests/test_radius_server.rb +16 -11
  67. data/tests/test_router_bgp.rb +11 -6
  68. data/tests/test_router_ospf_area.rb +6 -6
  69. data/tests/test_tacacs_server.rb +2 -2
  70. data/tests/test_tacacs_server_host.rb +2 -2
  71. data/tests/test_vlan.rb +14 -0
  72. data/tests/test_yum.rb +2 -2
  73. data/tests/yum_package.yaml +4 -0
  74. metadata +10 -3
@@ -1,7 +1,7 @@
1
1
  # encapsulation_profile_vni
2
2
  # encapsulation_profile_vni feature is available only on n7k
3
3
  ---
4
- _exclude: [N3k, N5k, N6k, N8k, N9k, ios_xr]
4
+ _exclude: [N3k, N5k, N6k, N9k-F, N9k, ios_xr]
5
5
 
6
6
  all_encaps:
7
7
  multiple: true
@@ -1,6 +1,6 @@
1
1
  # fabricpath
2
2
  ---
3
- _exclude: [N3k, N8k, N9k, ios_xr]
3
+ _exclude: [N3k, N9k-F, N9k, ios_xr]
4
4
 
5
5
  aggregate_multicast_routes:
6
6
  _exclude: [N5k, N6k]
@@ -82,8 +82,8 @@ loadbalance_multicast_has_vlan:
82
82
  _exclude: [N5k, N6k]
83
83
  kind: boolean
84
84
  auto_default: false
85
- get_command: 'show run fabricpath all'
86
- get_value: '/^fabricpath load-balance multicast .*include-vlan/'
85
+ get_command: "show fabricpath load-balance | begin Ftag"
86
+ get_value: '/^Use VLAN: TRUE/'
87
87
  default_value: true
88
88
 
89
89
  loadbalance_multicast_reset:
@@ -104,8 +104,8 @@ loadbalance_multicast_set:
104
104
  loadbalance_unicast_has_vlan:
105
105
  kind: boolean
106
106
  auto_default: false
107
- get_command: 'show run fabricpath all'
108
- get_value: '/^fabricpath load-balance unicast .*include-vlan/'
107
+ get_command: "show fabricpath load-balance | begin ECMP next 4"
108
+ get_value: '/^Use VLAN: TRUE/'
109
109
  set_value: "<state> fabricpath load-balance unicast include-vlan"
110
110
  default_value: true
111
111
 
@@ -1,7 +1,7 @@
1
1
  # fabricpath_topology
2
2
  ---
3
3
  # Fabricpath feature is not available on N3K and N9K
4
- _exclude: [N3k, N8k, N9k, ios_xr]
4
+ _exclude: [N3k, N9k-F, N9k, ios_xr]
5
5
 
6
6
  _template:
7
7
  get_command: 'show running-config fabricpath all'
@@ -21,7 +21,7 @@ dhcp:
21
21
  set_value: "feature dhcp"
22
22
 
23
23
  fabric:
24
- _exclude: [N3k, N8k, N9k]
24
+ _exclude: [N3k, N9k-F, N9k]
25
25
  get_command: "show feature-set"
26
26
  get_value: '/^fabric[\s\d]+(\w+)/'
27
27
  set_value: "<state> feature-set fabric"
@@ -32,11 +32,16 @@ fabric_forwarding:
32
32
  set_value: "feature fabric forwarding"
33
33
 
34
34
  fex:
35
- _exclude: [C3064, C3132, N5k, N6k, N8k]
35
+ _exclude: [C3064, C3132, N5k, N6k, N9k-F]
36
36
  get_command: "show feature-set"
37
37
  get_value: '/^fex[\s\d]+(\w+)/'
38
38
  set_value: "<state> feature-set fex"
39
39
 
40
+ hsrp:
41
+ kind: boolean
42
+ get_value: '/^feature hsrp$/'
43
+ set_value: "feature hsrp"
44
+
40
45
  itd:
41
46
  _exclude: [N3k, N5k, N6k]
42
47
  get_value: '/^feature itd$/'
@@ -68,7 +73,7 @@ pim:
68
73
  set_value: 'feature pim'
69
74
 
70
75
  private_vlan:
71
- _exclude: [N8k]
76
+ _exclude: [N9k-F]
72
77
  kind: boolean
73
78
  get_value: '/^feature private-vlan$/'
74
79
  set_value: "feature private-vlan"
@@ -0,0 +1,25 @@
1
+ # hsrp_global.yaml
2
+ ---
3
+ _exclude: [ios_xr]
4
+
5
+ _template:
6
+ get_command: "show running-config hsrp all | no-more"
7
+
8
+ bfd_all_intf:
9
+ _exclude: [N3k]
10
+ kind: boolean
11
+ get_value: '/^hsrp bfd all-interfaces$/'
12
+ set_value: '<state> hsrp bfd all-interfaces'
13
+ default_value: false
14
+
15
+ extended_hold:
16
+ # the config can be 'hsrp timers extended-hold' or
17
+ # 'hsrp timers extended-hold <time>' or
18
+ # no config at all so need to grab the
19
+ # optional match to get the whole config
20
+ get_value: '/^hsrp timers extended-hold(?:\s+\S+)?$/'
21
+ set_value: '<state> hsrp timers extended-hold <time>'
22
+ default_value: false
23
+
24
+ extended_hold_enable:
25
+ default_only: '10'
@@ -92,6 +92,50 @@ feature_vlan:
92
92
  get_value: '/^feature interface-vlan$/'
93
93
  set_value: "<state> feature interface-vlan"
94
94
 
95
+ hsrp_bfd:
96
+ _exclude: [ios_xr, N5k, N6k]
97
+ kind: boolean
98
+ get_value: '/^hsrp bfd$/'
99
+ set_value: "<state> hsrp bfd"
100
+ default_value: false
101
+
102
+ hsrp_delay:
103
+ _exclude: [ios_xr, N5k, N6k]
104
+ get_value: '/^hsrp delay minimum (\d+) reload (\d+)/'
105
+ set_value: "hsrp delay <minimum> <min> <reload> <rel>"
106
+
107
+ hsrp_delay_minimum:
108
+ _exclude: [ios_xr, N5k, N6k]
109
+ default_value: 0
110
+
111
+ hsrp_delay_reload:
112
+ _exclude: [ios_xr, N5k, N6k]
113
+ default_value: 0
114
+
115
+ hsrp_mac_refresh:
116
+ _exclude: [ios_xr, N5k, N6k]
117
+ kind: int
118
+ get_value: '/^hsrp mac-refresh (\d+)$/'
119
+ set_value: '<state> hsrp mac-refresh <timeout>'
120
+ default_value: false
121
+
122
+ hsrp_use_bia:
123
+ _exclude: [ios_xr, N5k, N6k]
124
+ # the config can be 'hsrp use-bia' or
125
+ # 'hsrp use-bia scope interface' or
126
+ # no config at all so need to grab the
127
+ # optional match to get the whole config
128
+ get_value: '/^hsrp use-bia(?:\s+\S+\s+\S+)?$/'
129
+ set_value: '<state> hsrp use-bia<scope>'
130
+ default_value: false
131
+
132
+ hsrp_version:
133
+ _exclude: [ios_xr, N5k, N6k]
134
+ kind: int
135
+ get_value: '/^hsrp version (\d+)$/'
136
+ set_value: "hsrp version <ver>"
137
+ default_value: 1
138
+
95
139
  ipv4_acl_in:
96
140
  ios_xr:
97
141
  get_value: '/^ipv4 access-group (\S+) ingress/'
@@ -147,7 +191,7 @@ ipv4_dhcp_relay_info_trust:
147
191
  default_value: false
148
192
 
149
193
  ipv4_dhcp_relay_src_addr_hsrp:
150
- _exclude: [ios_xr, N3k, N8k, N9k]
194
+ _exclude: [ios_xr, N3k, N9k-F, N9k]
151
195
  kind: boolean
152
196
  get_value: '/^ip dhcp relay source-address hsrp$/'
153
197
  set_value: "<state> ip dhcp relay source-address hsrp"
@@ -284,6 +328,13 @@ negotiate_auto_portchannel:
284
328
  set_value: "<state> negotiate auto"
285
329
  default_value: true
286
330
 
331
+ pim_bfd:
332
+ _exclude: [ios_xr]
333
+ kind: boolean
334
+ get_value: '/^ip pim bfd-instance$/'
335
+ set_value: "<state> ip pim bfd-instance"
336
+ default_value: false
337
+
287
338
  pvlan_any:
288
339
  multiple:
289
340
  get_value: '/switchport private-vlan/'
@@ -295,7 +346,7 @@ pvlan_any:
295
346
  # 'switchport_pvlan_mapping_trunk' is the switchport-pvlan-trunk command
296
347
  pvlan_mapping:
297
348
  # SVI-only property
298
- _exclude: [ios_xr, N8k]
349
+ _exclude: [ios_xr, N9k-F]
299
350
  get_value: '/^private-vlan mapping (.*)/'
300
351
  set_value: "<state> private-vlan mapping <vlan>"
301
352
  default_value: []
@@ -493,68 +544,68 @@ switchport_mode_port_channel:
493
544
  default_value: ""
494
545
 
495
546
  switchport_pvlan_host:
496
- _exclude: [ios_xr, N8k]
547
+ _exclude: [ios_xr, N9k-F]
497
548
  kind: boolean
498
549
  get_value: '/^switchport mode private-vlan host$/'
499
550
  set_value: "<state> switchport mode private-vlan host"
500
551
  default_value: false
501
552
 
502
553
  switchport_pvlan_host_association:
503
- _exclude: [ios_xr, N8k]
554
+ _exclude: [ios_xr, N9k-F]
504
555
  # Note this is NOT a multiple, unlike trunk association.
505
556
  get_value: '/^switchport private-vlan host-association (\d+) (\d+)$/'
506
557
  set_value: "<state> switchport private-vlan host-association <pri> <sec>"
507
558
  default_value: []
508
559
 
509
560
  switchport_pvlan_mapping:
510
- _exclude: [ios_xr, N8k]
561
+ _exclude: [ios_xr, N9k-F]
511
562
  get_value: '/^switchport private-vlan mapping (\d+) (.*)$/'
512
563
  set_value: "<state> switchport private-vlan mapping <primary> <vlan>"
513
564
  default_value: []
514
565
 
515
566
  switchport_pvlan_mapping_trunk:
516
- _exclude: [ios_xr, N3k, N8k]
567
+ _exclude: [ios_xr, N3k, N9k-F]
517
568
  multiple:
518
569
  get_value: '/^switchport private-vlan mapping trunk (\d+) (.*)$/'
519
570
  set_value: "<state> switchport private-vlan mapping trunk <primary> <range>"
520
571
  default_value: []
521
572
 
522
573
  switchport_pvlan_promiscuous:
523
- _exclude: [ios_xr, N8k]
574
+ _exclude: [ios_xr, N9k-F]
524
575
  kind: boolean
525
576
  get_value: '/^switchport mode private-vlan promiscuous$/'
526
577
  set_value: "<state> switchport mode private-vlan promiscuous"
527
578
  default_value: false
528
579
 
529
580
  switchport_pvlan_trunk_allowed_vlan:
530
- _exclude: [ios_xr, N8k]
581
+ _exclude: [ios_xr, N9k-F]
531
582
  multiple: true
532
583
  get_value: '/^switchport private-vlan trunk allowed vlan (?:add )?(\S+)$/'
533
584
  set_value: "switchport private-vlan trunk allowed vlan <range>"
534
585
  default_value: 'none'
535
586
 
536
587
  switchport_pvlan_trunk_association:
537
- _exclude: [ios_xr, N3k, N8k]
588
+ _exclude: [ios_xr, N3k, N9k-F]
538
589
  multiple:
539
590
  get_value: '/^switchport private-vlan association trunk (\d+) (\d+)$/'
540
591
  set_value: "<state> switchport private-vlan association trunk <pri> <sec>"
541
592
  default_value: []
542
593
 
543
594
  switchport_pvlan_trunk_native_vlan:
544
- _exclude: [ios_xr, N8k]
595
+ _exclude: [ios_xr, N9k-F]
545
596
  get_value: '/^switchport private-vlan trunk native vlan (.*)$/'
546
597
  set_value: "switchport private-vlan trunk native vlan <vlan>"
547
598
  default_value: '1'
548
599
 
549
600
  switchport_pvlan_trunk_promiscuous:
550
- _exclude: [ios_xr, N3k, N8k]
601
+ _exclude: [ios_xr, N3k, N9k-F]
551
602
  kind: boolean
552
603
  get_value: '/^switchport mode private-vlan trunk promiscuous$/'
553
604
  set_value: "<state> switchport mode private-vlan trunk promiscuous"
554
605
  default_value: false
555
606
 
556
607
  switchport_pvlan_trunk_secondary:
557
- _exclude: [ios_xr, N3k, N8k]
608
+ _exclude: [ios_xr, N3k, N9k-F]
558
609
  kind: boolean
559
610
  get_value: '/^switchport mode private-vlan trunk secondary$/'
560
611
  set_value: "<state> switchport mode private-vlan trunk secondary"
@@ -617,14 +668,14 @@ system_default_switchport_shutdown:
617
668
  default_only: true
618
669
 
619
670
  vlan_mapping:
620
- _exclude: [N3k, N5k, N6k, N8k, N9k]
671
+ _exclude: [N3k, N5k, N6k, N9k-F, N9k]
621
672
  multiple:
622
673
  get_value: '/^switchport vlan mapping (\d+) (\d+)/'
623
674
  set_value: '<state> switchport vlan mapping <original> <translated>'
624
675
  default_value: []
625
676
 
626
677
  vlan_mapping_enable:
627
- _exclude: [N3k, N5k, N6k, N8k, N9k]
678
+ _exclude: [N3k, N5k, N6k, N9k-F, N9k]
628
679
  kind: boolean
629
680
  get_value: '/^(no )?switchport vlan mapping enable/'
630
681
  set_value: '<state> switchport vlan mapping enable'
@@ -0,0 +1,117 @@
1
+ # interface_hsrp_group
2
+ ---
3
+ _exclude: [ios_xr, N5k, N6k]
4
+
5
+ _template:
6
+ get_command: "show running hsrp | no-more"
7
+ context:
8
+ - "interface <name>"
9
+ - "hsrp <group> <iptype>"
10
+
11
+ authentication:
12
+ get_value: '/^authentication (.*)$/'
13
+ set_value: '<state> authentication <authtype> <keytype> <enctype> <passwd> <compatible> <timeout> <tval>'
14
+
15
+ authentication_auth_type:
16
+ default_value: 'cleartext'
17
+
18
+ authentication_compatibility:
19
+ kind: boolean
20
+ default_value: false
21
+
22
+ authentication_enc_type:
23
+ default_value: '0'
24
+
25
+ authentication_key_type:
26
+ default_value: 'key-chain'
27
+
28
+ authentication_string:
29
+ default_value: ''
30
+
31
+ authentication_timeout:
32
+ kind: int
33
+ default_value: 0
34
+
35
+ group_name:
36
+ get_value: '/^name (\S+)/'
37
+ set_value: '<state> name <word>'
38
+ default_value: false
39
+
40
+ groups:
41
+ multiple: true
42
+ context:
43
+ - "interface <name>"
44
+ get_value: '/^hsrp (\d+)(?:\s+(ipv6))?/'
45
+ set_value: '<state> hsrp <group> <iptype>'
46
+
47
+ ipv4_enable:
48
+ default_value: false
49
+
50
+ ipv4_vip:
51
+ # the config can be 'ip' or 'ip <vip>' or
52
+ # no ipv4 config at all so need to grab the
53
+ # optional match to get the whole config
54
+ get_value: '/^ip(?:\s+\S+)?$/'
55
+ set_value: '<state> ip <vip>'
56
+ default_value: ''
57
+
58
+ ipv6_autoconfig:
59
+ kind: boolean
60
+ get_value: '/^ip autoconfig$/'
61
+ set_value: '<state> ip autoconfig'
62
+ default_value: false
63
+
64
+ ipv6_vip:
65
+ multiple: true
66
+ get_value: '/^ip (\S+)$/'
67
+ set_value: '<state> ip <vip>'
68
+ default_value: []
69
+
70
+ mac_addr:
71
+ get_value: '/^mac-address (\S+)$/'
72
+ set_value: '<state> mac-address <mac>'
73
+ default_value: false
74
+
75
+ preempt:
76
+ get_command: "show running hsrp all | no-more"
77
+ get_value: '/^preempt delay minimum (\d+) reload (\d+) sync (\d+)/'
78
+ set_value: '<state> preempt <delay> <minimum> <minval> <reload> <relval> <sync> <syncval>'
79
+ default_value: false
80
+
81
+ preempt_delay_minimum:
82
+ default_value: 0
83
+
84
+ preempt_delay_reload:
85
+ default_value: 0
86
+
87
+ preempt_delay_sync:
88
+ default_value: 0
89
+
90
+ priority:
91
+ default_value: 100
92
+
93
+ priority_forward_thresh_lower:
94
+ default_value: ''
95
+
96
+ priority_forward_thresh_upper:
97
+ default_value: ''
98
+
99
+ priority_level:
100
+ get_value: '/^priority (\d+)(?:\s+(?:forwarding-threshold lower)\s+(\d+)\s+(?:upper)\s+(\d+))?$/'
101
+ set_value: '<state> priority <pri> <forward> <lval> <upper> <uval>'
102
+
103
+ timers:
104
+ get_value: '/^timers (.*)$/'
105
+ set_value: '<state> timers <mshello> <hello> <mshold> <hold>'
106
+
107
+ timers_hello:
108
+ default_value: 3
109
+
110
+ timers_hello_msec:
111
+ default_value: false
112
+
113
+ timers_hold:
114
+ default_value: 10
115
+
116
+ timers_hold_msec:
117
+ default_value: false
@@ -38,7 +38,7 @@ lacp_max_bundle:
38
38
  default_value: 16
39
39
  N6k: *lacp_max_bundle_16
40
40
  N7k: *lacp_max_bundle_16
41
- N8k: *lacp_max_bundle_32
41
+ N9k-F: *lacp_max_bundle_32
42
42
  N9k: *lacp_max_bundle_32
43
43
 
44
44
  lacp_min_links:
@@ -1,6 +1,6 @@
1
1
  # interface_service_vni
2
2
  ---
3
- _exclude: [N3k, N5k, N6k, N8k, N9k, ios_xr]
3
+ _exclude: [N3k, N5k, N6k, N9k-F, N9k, ios_xr]
4
4
 
5
5
  _template:
6
6
  get_command: 'show running interface all'
@@ -6,11 +6,10 @@ _template:
6
6
  data_format: cli
7
7
  nexus:
8
8
  data_format: nxapi_structured
9
+ get_context: ["TABLE_inv", "ROW_inv"]
9
10
 
10
11
  all:
11
12
  multiple: true
12
- nexus:
13
- get_context: ["TABLE_inv", "ROW_inv"]
14
13
 
15
14
  chassis:
16
15
  nexus:
@@ -22,19 +21,16 @@ productid:
22
21
  ios_xr:
23
22
  get_value: '/"Rack 0".*\n.*PID: ([^ ,]+)/'
24
23
  nexus:
25
- get_context: ["TABLE_inv", "ROW_inv", '0']
26
- get_value: "productid"
24
+ get_value: ["name Chassis", "productid"]
27
25
 
28
26
  serialnum:
29
27
  ios_xr:
30
28
  get_value: '/"Rack 0".*\n.*SN: ([^ ,]+)/'
31
29
  nexus:
32
- get_context: ["TABLE_inv", "ROW_inv", '0']
33
- get_value: "serialnum"
30
+ get_value: ["name Chassis", "serialnum"]
34
31
 
35
32
  versionid:
36
33
  ios_xr:
37
34
  get_value: '/"Rack 0".*\n.*VID: ([^ ,]+)/'
38
35
  nexus:
39
- get_context: ["TABLE_inv", "ROW_inv", '0']
40
- get_value: "vendorid"
36
+ get_value: ["name Chassis", "vendorid"]