cisco_node_utils 1.4.1 → 1.5.0

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