cisco_node_utils 2.0.2 → 2.1.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/CHANGELOG.md +37 -0
- data/lib/cisco_node_utils/bfd_global.rb +4 -0
- data/lib/cisco_node_utils/cisco_cmn_utils.rb +25 -0
- data/lib/cisco_node_utils/cmd_ref/interface.yaml +18 -18
- data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +4 -1
- data/lib/cisco_node_utils/cmd_ref/interface_evpn_multisite.yaml +1 -1
- data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +17 -15
- data/lib/cisco_node_utils/interface.rb +117 -118
- data/lib/cisco_node_utils/interface_channel_group.rb +17 -8
- data/lib/cisco_node_utils/interface_evpn_multisite.rb +15 -6
- data/lib/cisco_node_utils/interface_ospf.rb +126 -102
- data/lib/cisco_node_utils/itd_service.rb +8 -0
- data/lib/cisco_node_utils/node.rb +0 -1
- data/lib/cisco_node_utils/platform.rb +16 -32
- data/lib/cisco_node_utils/version.rb +1 -1
- data/lib/cisco_node_utils/vlan.rb +1 -2
- data/lib/cisco_node_utils/vxlan_vtep.rb +1 -1
- data/tests/test_interface.rb +74 -13
- data/tests/test_interface_bdi.rb +2 -2
- data/tests/test_interface_channel_group.rb +24 -17
- data/tests/test_interface_evpn_multisite.rb +35 -0
- data/tests/test_interface_ospf.rb +71 -3
- data/tests/test_itd_service.rb +16 -4
- data/tests/test_node_ext.rb +4 -1
- data/tests/test_portchannel_global.rb +3 -0
- data/tests/test_router_ospf_vrf.rb +2 -34
- data/tests/test_stp_global.rb +4 -0
- metadata +3 -6
- data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +0 -118
- data/lib/cisco_node_utils/interface_DEPRECATED.rb +0 -518
- data/lib/cisco_node_utils/vlan_DEPRECATED.rb +0 -108
data/tests/test_itd_service.rb
CHANGED
@@ -51,7 +51,7 @@ class TestItdSvc < CiscoTestCase
|
|
51
51
|
def test_access_list
|
52
52
|
skip_nexus_i2_image?
|
53
53
|
itd = ItdService.new('new_group')
|
54
|
-
config 'ip access-list include'
|
54
|
+
config 'ip access-list include ; permit ip any any'
|
55
55
|
config 'ip access-list exclude'
|
56
56
|
itd.access_list = 'include'
|
57
57
|
itd.exclude_access_list = 'exclude'
|
@@ -98,9 +98,21 @@ class TestItdSvc < CiscoTestCase
|
|
98
98
|
intf = interfaces[0].dup
|
99
99
|
new_intf = Interface.new(interfaces[0])
|
100
100
|
new_intf.switchport_mode = :disabled
|
101
|
-
|
102
|
-
|
103
|
-
|
101
|
+
# The next-hop setting as part of the ingress_interface
|
102
|
+
# is not needed for n9k and in the latest images is not
|
103
|
+
# even supported by the cli.
|
104
|
+
if Platform.image_version[/9\.\d+/]
|
105
|
+
next_hop1 = ''
|
106
|
+
next_hop2 = ''
|
107
|
+
next_hop3 = ''
|
108
|
+
else
|
109
|
+
next_hop1 = '1.1.1.1'
|
110
|
+
next_hop2 = '2.2.2.2'
|
111
|
+
next_hop3 = '3.3.3.3'
|
112
|
+
end
|
113
|
+
ii = [['vlan 2', next_hop1],
|
114
|
+
[intf.insert(8, ' '), next_hop2],
|
115
|
+
['port-channel 100', next_hop3]]
|
104
116
|
itd.ingress_interface = ii
|
105
117
|
assert_equal(itd.ingress_interface, ii)
|
106
118
|
ii = [['vlan 2', ''],
|
data/tests/test_node_ext.rb
CHANGED
@@ -37,7 +37,8 @@ class TestNodeExt < CiscoTestCase
|
|
37
37
|
node.client.set(context: ['interface loopback0'], values: ['shutdown'])
|
38
38
|
node.client.set(values: ['interface loopback1', 'no shutdown'])
|
39
39
|
|
40
|
-
result = node.config_get('interface', 'shutdown',
|
40
|
+
result = node.config_get('interface', 'shutdown',
|
41
|
+
name: 'loopback1', show_name: 'loopback1')
|
41
42
|
refute(result)
|
42
43
|
end
|
43
44
|
|
@@ -143,8 +144,10 @@ class TestNodeExt < CiscoTestCase
|
|
143
144
|
def test_get_product_id
|
144
145
|
# N3|9K Fretta product_id gets a '-F' appended so remove it for this check
|
145
146
|
if product_tag[/n(3|9)k-f/]
|
147
|
+
node.client.cache_flush
|
146
148
|
chassis = node.product_id.sub('-F', '')
|
147
149
|
else
|
150
|
+
node.client.cache_flush
|
148
151
|
chassis = node.product_id
|
149
152
|
end
|
150
153
|
assert_output_check(command: 'show inventory',
|
@@ -192,6 +192,9 @@ class TestPortchannelGlobal < CiscoTestCase
|
|
192
192
|
skip('Test not supported on this platform') if n3k_in_n3k_mode? ||
|
193
193
|
validate_property_excluded?('portchannel_global', 'symmetry')
|
194
194
|
# rubocop:enable Style/MultilineOperationIndentation
|
195
|
+
# TBD: concat not supported; add N9k-EX to allowed platforms list and
|
196
|
+
# use proper _exclude tags
|
197
|
+
skip('TBD: Limited support for N9k-EX') if node.product_id[/N9K.*EX/]
|
195
198
|
|
196
199
|
global = create_portchannel_global
|
197
200
|
global.send(:port_channel_load_balance=,
|
@@ -244,11 +244,10 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
244
244
|
end
|
245
245
|
|
246
246
|
def test_create_name_zero_length
|
247
|
-
|
247
|
+
RouterOspf.new('testOspf')
|
248
248
|
assert_raises(ArgumentError) do
|
249
249
|
RouterOspfVrf.new('testOspf', '')
|
250
250
|
end
|
251
|
-
routerospf.destroy
|
252
251
|
end
|
253
252
|
|
254
253
|
def test_create_valid
|
@@ -259,7 +258,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
259
258
|
assert_match_vrf_line(ospfname, vrfname)
|
260
259
|
assert_equal(vrfname, vrf.name,
|
261
260
|
"Error: #{vrfname} vrf, create failed")
|
262
|
-
vrf.parent.destroy
|
263
261
|
end
|
264
262
|
|
265
263
|
def test_get_parent_name
|
@@ -267,7 +265,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
267
265
|
vrf = create_routerospfvrf(routerospf.name)
|
268
266
|
assert_equal(routerospf.name, vrf.parent.name,
|
269
267
|
'Error: Parent value is not correct')
|
270
|
-
routerospf.destroy
|
271
268
|
end
|
272
269
|
|
273
270
|
def test_get_name
|
@@ -276,7 +273,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
276
273
|
assert_match_vrf_line('green', vrfname)
|
277
274
|
assert_equal(vrfname, vrf.name,
|
278
275
|
"Error: #{vrfname} vrf, name get value mismatch")
|
279
|
-
vrf.parent.destroy
|
280
276
|
end
|
281
277
|
|
282
278
|
def test_destroy
|
@@ -286,7 +282,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
286
282
|
vrf.destroy
|
287
283
|
end
|
288
284
|
assert_match_vrf_line(vrf.parent.name, vrfname)
|
289
|
-
vrf.parent.destroy
|
290
285
|
end
|
291
286
|
|
292
287
|
def test_auto_cost
|
@@ -298,7 +293,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
298
293
|
assert_match_vrf_line(vrf.parent.name, vrf.name, pattern)
|
299
294
|
assert_equal(auto_cost_value, vrf.auto_cost,
|
300
295
|
'Error: auto-cost, get value mismatch')
|
301
|
-
vrf.parent.destroy
|
302
296
|
end
|
303
297
|
|
304
298
|
def test_auto_cost_multiple_vrf
|
@@ -321,7 +315,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
321
315
|
assert_match_vrf_line(routerospf.name, vrf1.name, pattern)
|
322
316
|
assert_equal(auto_cost_value, vrf1.auto_cost,
|
323
317
|
"Error: #{vrf1.name} vrf, auto-cost get value mismatch")
|
324
|
-
routerospf.destroy
|
325
318
|
end
|
326
319
|
|
327
320
|
def test_get_default_auto_cost
|
@@ -332,7 +325,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
332
325
|
'Error: default auto-cost get value mismatch')
|
333
326
|
assert_equal(auto_cost_value, vrf.auto_cost,
|
334
327
|
'Error: auto-cost get value default mismatch')
|
335
|
-
vrf.parent.destroy
|
336
328
|
end
|
337
329
|
|
338
330
|
def test_bfd
|
@@ -349,7 +341,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
349
341
|
vrf1.bfd = vrf1.default_bfd
|
350
342
|
assert_equal(vrf.default_bfd, vrf.bfd)
|
351
343
|
assert_equal(vrf1.default_bfd, vrf1.bfd)
|
352
|
-
routerospf.destroy
|
353
344
|
end
|
354
345
|
|
355
346
|
def test_default_metric
|
@@ -365,7 +356,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
365
356
|
return unless step_unless_legacy_defect(skip_versions, 'CSCvi74876: Cannot remove default metric')
|
366
357
|
vrf.default_metric = vrf.default_default_metric
|
367
358
|
refute_match_vrf_line(vrf.parent.name, vrf.name, pattern)
|
368
|
-
vrf.parent.destroy
|
369
359
|
end
|
370
360
|
|
371
361
|
def test_default_metric_multiple_vrf
|
@@ -387,8 +377,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
387
377
|
assert_match_vrf_line(routerospf.name, vrf1.name, pattern)
|
388
378
|
assert_equal(metric, vrf1.default_metric,
|
389
379
|
"Error: #{vrf1.name} vrf, default-metric get value mismatch")
|
390
|
-
|
391
|
-
routerospf.destroy
|
392
380
|
end
|
393
381
|
|
394
382
|
def test_log_adjacency_changes
|
@@ -413,7 +401,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
413
401
|
vrf.log_adjacency = vrf.default_log_adjacency
|
414
402
|
pattern = /\s+log-adjacency-changes(.*)/
|
415
403
|
refute_match_vrf_line(vrf.parent.name, vrf.name, pattern)
|
416
|
-
vrf.parent.destroy
|
417
404
|
end
|
418
405
|
|
419
406
|
def test_log_adjacency_multiple_vrf
|
@@ -433,8 +420,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
433
420
|
assert_match_vrf_line(routerospf.name, vrf1.name, pattern)
|
434
421
|
assert_equal(:detail, vrf1.log_adjacency,
|
435
422
|
"Error: #{vrf1.name} vrf, log-adjacency get value mismatch")
|
436
|
-
|
437
|
-
routerospf.destroy
|
438
423
|
end
|
439
424
|
|
440
425
|
def test_log_adjacency_multiple_vrf_2
|
@@ -453,8 +438,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
453
438
|
assert_equal(:none, vrf_default.log_adjacency,
|
454
439
|
"Error: #{vrf_default.name} vrf_default, " \
|
455
440
|
'log-adjacency get value mismatch')
|
456
|
-
|
457
|
-
routerospf.destroy
|
458
441
|
end
|
459
442
|
|
460
443
|
def test_router_id
|
@@ -468,7 +451,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
468
451
|
|
469
452
|
vrf.router_id = vrf.default_router_id
|
470
453
|
refute_match_vrf_line(vrf.parent.name, vrf.name, pattern)
|
471
|
-
vrf.parent.destroy
|
472
454
|
end
|
473
455
|
|
474
456
|
def test_router_id_multiple_vrf
|
@@ -491,8 +473,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
491
473
|
assert_match_vrf_line(routerospf.name, vrf1.name, pattern)
|
492
474
|
assert_equal(id, vrf1.router_id,
|
493
475
|
"Error: #{vrf1.name} vrf, router-id get value mismatch")
|
494
|
-
|
495
|
-
routerospf.destroy
|
496
476
|
end
|
497
477
|
|
498
478
|
def test_timer_throttle_lsa
|
@@ -505,7 +485,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
505
485
|
assert_equal(lsa, vrf.timer_throttle_lsa,
|
506
486
|
"Error: #{vrf.name} vrf, timer throttle lsa " \
|
507
487
|
'get values mismatch')
|
508
|
-
vrf.parent.destroy
|
509
488
|
end
|
510
489
|
|
511
490
|
def test_timer_throttle_lsa_multiple_vrf
|
@@ -529,8 +508,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
529
508
|
assert_equal(lsa, vrf1.timer_throttle_lsa,
|
530
509
|
"Error: #{vrf1.name} vrf, timer throttle lsa " \
|
531
510
|
'get values mismatch')
|
532
|
-
|
533
|
-
routerospf.destroy
|
534
511
|
end
|
535
512
|
|
536
513
|
def test_get_default_timer_throttle_lsa
|
@@ -548,7 +525,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
548
525
|
'Error: default timer throttle lsa hold not correct')
|
549
526
|
assert_equal(lsa[2], vrf.default_timer_throttle_lsa_max,
|
550
527
|
'Error: default timer throttle lsa max not correct')
|
551
|
-
vrf.parent.destroy
|
552
528
|
end
|
553
529
|
|
554
530
|
def test_timer_throttle_spf
|
@@ -561,7 +537,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
561
537
|
assert_equal(spf, vrf.timer_throttle_spf,
|
562
538
|
"Error: #{vrf.name} vrf, timer throttle spf " \
|
563
539
|
'get values mismatch')
|
564
|
-
vrf.parent.destroy
|
565
540
|
end
|
566
541
|
|
567
542
|
def test_timer_throttle_spf_multiple_vrf
|
@@ -585,8 +560,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
585
560
|
assert_equal(spf, vrf1.timer_throttle_spf,
|
586
561
|
"Error: #{vrf1.name} vrf, timer throttle spf " \
|
587
562
|
'get values mismatch')
|
588
|
-
|
589
|
-
routerospf.destroy
|
590
563
|
end
|
591
564
|
|
592
565
|
def test_get_default_timer_throttle_spf
|
@@ -607,7 +580,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
607
580
|
assert_equal(spf[2], vrf.timer_throttle_spf_max,
|
608
581
|
"Error: #{vrf.name} vrf, " \
|
609
582
|
'default timer throttle max not correct')
|
610
|
-
vrf.parent.destroy
|
611
583
|
end
|
612
584
|
|
613
585
|
def test_create_valid_destroy_default
|
@@ -621,7 +593,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
621
593
|
assert_raises(RuntimeError) do
|
622
594
|
vrf.destroy
|
623
595
|
end
|
624
|
-
routerospf.destroy
|
625
596
|
end
|
626
597
|
|
627
598
|
# rubocop:disable Style/AlignHash
|
@@ -693,7 +664,6 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
693
664
|
"Error: #{vrf.name} vrf, hold timer throttle lsa not correct")
|
694
665
|
assert_equal(5001, vrf.timer_throttle_lsa_max,
|
695
666
|
"Error: #{vrf.name} vrf, max timer throttle lsa not correct")
|
696
|
-
vrf.parent.destroy
|
697
667
|
end
|
698
668
|
|
699
669
|
def test_timer_throttle_spf_start_hold_max
|
@@ -705,11 +675,10 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
705
675
|
"Error: #{vrf.name} vrf, hold timer throttle spf not correct")
|
706
676
|
assert_equal(5001, vrf.timer_throttle_spf_max,
|
707
677
|
"Error: #{vrf.name} vrf, max timer throttle spf not correct")
|
708
|
-
vrf.parent.destroy
|
709
678
|
end
|
710
679
|
|
711
680
|
def test_noninstantiated
|
712
|
-
|
681
|
+
create_routerospf
|
713
682
|
vrf = RouterOspfVrf.new('absent', 'absent', false)
|
714
683
|
vrf.auto_cost
|
715
684
|
vrf.default_metric
|
@@ -717,6 +686,5 @@ class TestRouterOspfVrf < CiscoTestCase
|
|
717
686
|
vrf.router_id
|
718
687
|
vrf.timer_throttle_lsa
|
719
688
|
vrf.timer_throttle_spf
|
720
|
-
routerospf.destroy
|
721
689
|
end
|
722
690
|
end
|
data/tests/test_stp_global.rb
CHANGED
@@ -233,6 +233,8 @@ class TestStpGlobal < CiscoTestCase
|
|
233
233
|
end
|
234
234
|
|
235
235
|
def test_get_set_mst_priorities
|
236
|
+
# TBD: Add N9k-EX to allowed platforms list and use proper _exclude tags
|
237
|
+
skip('TBD: Limited support for N9k-EX') if node.product_id[/N9K.*EX/]
|
236
238
|
global = StpGlobal.new('default')
|
237
239
|
global.mode = 'mst'
|
238
240
|
global.mst_priority = global.default_mst_priority
|
@@ -392,6 +394,8 @@ class TestStpGlobal < CiscoTestCase
|
|
392
394
|
end
|
393
395
|
|
394
396
|
def test_get_set_vlan_priorities
|
397
|
+
# TBD: Add N9k-EX to allowed platforms list and use proper _exclude tags
|
398
|
+
skip('TBD: Limited support for N9k-EX') if node.product_id[/N9K.*EX/]
|
395
399
|
global = StpGlobal.new('default')
|
396
400
|
global.vlan_priority = global.default_vlan_priority
|
397
401
|
global.vlan_root_priority = global.default_vlan_root_priority
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cisco_node_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Gries
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2019-
|
18
|
+
date: 2019-08-19 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: bundler
|
@@ -206,7 +206,6 @@ files:
|
|
206
206
|
- lib/cisco_node_utils/client/nxapi.rb
|
207
207
|
- lib/cisco_node_utils/client/nxapi/client.rb
|
208
208
|
- lib/cisco_node_utils/client/utils.rb
|
209
|
-
- lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml
|
210
209
|
- lib/cisco_node_utils/cmd_ref/README_YAML.md
|
211
210
|
- lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml
|
212
211
|
- lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml
|
@@ -309,7 +308,6 @@ files:
|
|
309
308
|
- lib/cisco_node_utils/hostname.rb
|
310
309
|
- lib/cisco_node_utils/hsrp_global.rb
|
311
310
|
- lib/cisco_node_utils/interface.rb
|
312
|
-
- lib/cisco_node_utils/interface_DEPRECATED.rb
|
313
311
|
- lib/cisco_node_utils/interface_channel_group.rb
|
314
312
|
- lib/cisco_node_utils/interface_evpn_multisite.rb
|
315
313
|
- lib/cisco_node_utils/interface_hsrp_group.rb
|
@@ -362,7 +360,6 @@ files:
|
|
362
360
|
- lib/cisco_node_utils/vdc.rb
|
363
361
|
- lib/cisco_node_utils/version.rb
|
364
362
|
- lib/cisco_node_utils/vlan.rb
|
365
|
-
- lib/cisco_node_utils/vlan_DEPRECATED.rb
|
366
363
|
- lib/cisco_node_utils/vpc.rb
|
367
364
|
- lib/cisco_node_utils/vrf.rb
|
368
365
|
- lib/cisco_node_utils/vrf_af.rb
|
@@ -517,7 +514,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
517
514
|
version: 2.1.0
|
518
515
|
requirements: []
|
519
516
|
rubyforge_project:
|
520
|
-
rubygems_version: 2.5.2.
|
517
|
+
rubygems_version: 2.5.2.3
|
521
518
|
signing_key:
|
522
519
|
specification_version: 4
|
523
520
|
summary: Utilities for management of Cisco network nodes
|
@@ -1,118 +0,0 @@
|
|
1
|
-
# DEPRECATED
|
2
|
-
#
|
3
|
-
###############################################################################
|
4
|
-
# WARNING. DO NOT USE ANY OF THE YAML TAGS IN THIS FILE.
|
5
|
-
# These yaml tags are deprecated and will be removed in future releases.
|
6
|
-
###############################################################################
|
7
|
-
---
|
8
|
-
_template:
|
9
|
-
context: ["interface <name>"]
|
10
|
-
nexus:
|
11
|
-
get_command: "show running interface all"
|
12
|
-
|
13
|
-
private_vlan_any:
|
14
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'pvlan_any'
|
15
|
-
multiple:
|
16
|
-
get_value: '/switchport private-vlan/'
|
17
|
-
|
18
|
-
private_vlan_association:
|
19
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'pvlan_association'
|
20
|
-
_exclude: [N3k-F, N9k-F]
|
21
|
-
multiple: true
|
22
|
-
get_command: "show vlan private-vlan"
|
23
|
-
get_context: ~
|
24
|
-
get_value: '/^<id>\s+(\d+)/'
|
25
|
-
set_context: ['vlan <vlan>']
|
26
|
-
set_value: "<state> private-vlan association <vlans> ; end"
|
27
|
-
default_value: []
|
28
|
-
|
29
|
-
private_vlan_mapping:
|
30
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'pvlan_mapping'
|
31
|
-
_exclude: [ios_xr, N3k-F, N9k-F]
|
32
|
-
multiple: true
|
33
|
-
get_value: '/^private-vlan mapping (.*)$/'
|
34
|
-
set_value: "<state> private-vlan mapping <vlans>"
|
35
|
-
default_value: []
|
36
|
-
|
37
|
-
private_vlan_type:
|
38
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'pvlan_type'
|
39
|
-
_exclude: [N3k-F, N9k-F]
|
40
|
-
kind: string
|
41
|
-
get_command: 'show vlan private-vlan type'
|
42
|
-
get_context: ~
|
43
|
-
get_value: '/^<id>\s+(\S+)/'
|
44
|
-
set_context: ['vlan <vlan>']
|
45
|
-
set_value: "<state> private-vlan <type> ; end"
|
46
|
-
default_value: ""
|
47
|
-
|
48
|
-
switchport_mode_private_vlan_host:
|
49
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_host'
|
50
|
-
_exclude: [ios_xr, N3k-F, N9k-F]
|
51
|
-
get_value: '/^switchport mode private-vlan (.*)$/'
|
52
|
-
set_value: "<state> switchport mode private-vlan <mode>"
|
53
|
-
default_value: :disabled
|
54
|
-
|
55
|
-
switchport_mode_private_vlan_host_association:
|
56
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_host_association'
|
57
|
-
_exclude: [ios_xr, N3k-F, N9k-F]
|
58
|
-
multiple: true
|
59
|
-
get_value: '/^switchport private-vlan host-association (.*)$/'
|
60
|
-
set_value: "<state> switchport private-vlan host-association <vlan_pr> <vlan_sec>"
|
61
|
-
default_value: []
|
62
|
-
|
63
|
-
switchport_mode_private_vlan_host_promiscous:
|
64
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_promiscuous'
|
65
|
-
_exclude: [ios_xr, N3k-F, N9k-F]
|
66
|
-
multiple: true
|
67
|
-
get_value: '/^switchport private-vlan mapping (\d+.*)$/'
|
68
|
-
set_value: "<state> switchport private-vlan mapping <vlan_pr> <vlans>"
|
69
|
-
default_value: []
|
70
|
-
|
71
|
-
switchport_mode_private_vlan_trunk_promiscuous:
|
72
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_trunk_promiscuous'
|
73
|
-
_exclude: [ios_xr, N3k, N3k-F, N9k-F]
|
74
|
-
kind: boolean
|
75
|
-
get_value: '/^switchport mode private-vlan trunk promiscuous$/'
|
76
|
-
set_value: "<state> switchport mode private-vlan trunk promiscuous"
|
77
|
-
default_value: false
|
78
|
-
|
79
|
-
switchport_mode_private_vlan_trunk_secondary:
|
80
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_trunk_secondary'
|
81
|
-
_exclude: [ios_xr, N3k, N3k-F, N9k-F]
|
82
|
-
kind: boolean
|
83
|
-
get_value: '/^switchport mode private-vlan trunk secondary$/'
|
84
|
-
set_value: "<state> switchport mode private-vlan trunk secondary"
|
85
|
-
default_value: false
|
86
|
-
|
87
|
-
switchport_private_vlan_association_trunk:
|
88
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_trunk_association'
|
89
|
-
_exclude: [ios_xr, N3k, N3k-F, N9k-F]
|
90
|
-
multiple: true
|
91
|
-
#get_value: '/^switchport private-vlan association trunk (.*) (.*)$/'
|
92
|
-
get_value: '/^switchport private-vlan association trunk (.*)$/'
|
93
|
-
set_value: "<state> switchport private-vlan association trunk <vlan_pr> <vlan>"
|
94
|
-
default_value: []
|
95
|
-
|
96
|
-
switchport_private_vlan_mapping_trunk:
|
97
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_mapping_trunk'
|
98
|
-
_exclude: [ios_xr, N3k, N3k-F, N9k-F]
|
99
|
-
multiple: true
|
100
|
-
get_value: '/^switchport private-vlan mapping trunk (.*)$/'
|
101
|
-
set_value: "<state> switchport private-vlan mapping trunk <vlan_pr> <vlans>"
|
102
|
-
default_value: []
|
103
|
-
|
104
|
-
switchport_private_vlan_trunk_allowed_vlan:
|
105
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_trunk_allowed_vlan'
|
106
|
-
_exclude: [ios_xr, N3k-F, N9k-F]
|
107
|
-
multiple: true
|
108
|
-
get_value: '/^switchport private-vlan trunk allowed vlan (.*)$/'
|
109
|
-
set_value: "<state> switchport private-vlan trunk allowed vlan <oper> <vlans>"
|
110
|
-
default_value: []
|
111
|
-
|
112
|
-
switchport_private_vlan_trunk_native_vlan:
|
113
|
-
# DEPRECATED (REMOVING WITH RELEASE 2.0.0). USE 'switchport_pvlan_trunk_native_vlan'
|
114
|
-
_exclude: [ios_xr, N3k-F, N9k-F]
|
115
|
-
kind: int
|
116
|
-
get_value: '/^switchport private-vlan trunk native vlan (.*)$/'
|
117
|
-
set_value: "<state> switchport private-vlan trunk native vlan <vlan>"
|
118
|
-
default_value: 1
|