cisco_node_utils 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/lib/cisco_node_utils/bfd_global.rb +4 -0
  4. data/lib/cisco_node_utils/cisco_cmn_utils.rb +25 -0
  5. data/lib/cisco_node_utils/cmd_ref/interface.yaml +18 -18
  6. data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +4 -1
  7. data/lib/cisco_node_utils/cmd_ref/interface_evpn_multisite.yaml +1 -1
  8. data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +17 -15
  9. data/lib/cisco_node_utils/interface.rb +117 -118
  10. data/lib/cisco_node_utils/interface_channel_group.rb +17 -8
  11. data/lib/cisco_node_utils/interface_evpn_multisite.rb +15 -6
  12. data/lib/cisco_node_utils/interface_ospf.rb +126 -102
  13. data/lib/cisco_node_utils/itd_service.rb +8 -0
  14. data/lib/cisco_node_utils/node.rb +0 -1
  15. data/lib/cisco_node_utils/platform.rb +16 -32
  16. data/lib/cisco_node_utils/version.rb +1 -1
  17. data/lib/cisco_node_utils/vlan.rb +1 -2
  18. data/lib/cisco_node_utils/vxlan_vtep.rb +1 -1
  19. data/tests/test_interface.rb +74 -13
  20. data/tests/test_interface_bdi.rb +2 -2
  21. data/tests/test_interface_channel_group.rb +24 -17
  22. data/tests/test_interface_evpn_multisite.rb +35 -0
  23. data/tests/test_interface_ospf.rb +71 -3
  24. data/tests/test_itd_service.rb +16 -4
  25. data/tests/test_node_ext.rb +4 -1
  26. data/tests/test_portchannel_global.rb +3 -0
  27. data/tests/test_router_ospf_vrf.rb +2 -34
  28. data/tests/test_stp_global.rb +4 -0
  29. metadata +3 -6
  30. data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +0 -118
  31. data/lib/cisco_node_utils/interface_DEPRECATED.rb +0 -518
  32. data/lib/cisco_node_utils/vlan_DEPRECATED.rb +0 -108
@@ -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
- ii = [['vlan 2', '1.1.1.1'],
102
- [intf.insert(8, ' '), '2.2.2.2'],
103
- ['port-channel 100', '3.3.3.3']]
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', ''],
@@ -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', name: 'loopback1')
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
- routerospf = RouterOspf.new('testOspf')
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
- routerospf = create_routerospf
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
@@ -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.2
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-06-25 00:00:00.000000000 Z
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.1
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