rbeapi 0.5.0 → 0.5.1

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 (57) hide show
  1. data/CHANGELOG.md +4 -0
  2. data/Gemfile +1 -1
  3. data/README.md +17 -12
  4. data/guide/.gitignore +2 -0
  5. data/guide/api.rst +5894 -0
  6. data/guide/conf.py +5 -5
  7. data/guide/contributing.rst +6 -0
  8. data/guide/getting-started.rst +134 -0
  9. data/guide/index.rst +3 -5
  10. data/guide/installation.rst +56 -1
  11. data/guide/license.rst +13 -2
  12. data/guide/overview.rst +2 -5
  13. data/guide/testing.rst +5 -1
  14. data/guide/upgrading.rst +10 -0
  15. data/lib/rbeapi/api.rb +37 -36
  16. data/lib/rbeapi/api/aaa.rb +90 -90
  17. data/lib/rbeapi/api/acl.rb +70 -53
  18. data/lib/rbeapi/api/bgp.rb +186 -163
  19. data/lib/rbeapi/api/dns.rb +51 -45
  20. data/lib/rbeapi/api/interfaces.rb +344 -328
  21. data/lib/rbeapi/api/ipinterfaces.rb +92 -92
  22. data/lib/rbeapi/api/logging.rb +32 -32
  23. data/lib/rbeapi/api/mlag.rb +97 -97
  24. data/lib/rbeapi/api/ntp.rb +39 -39
  25. data/lib/rbeapi/api/ospf.rb +58 -58
  26. data/lib/rbeapi/api/prefixlists.rb +22 -22
  27. data/lib/rbeapi/api/radius.rb +77 -49
  28. data/lib/rbeapi/api/routemaps.rb +110 -64
  29. data/lib/rbeapi/api/snmp.rb +104 -100
  30. data/lib/rbeapi/api/staticroutes.rb +27 -20
  31. data/lib/rbeapi/api/stp.rb +100 -84
  32. data/lib/rbeapi/api/switchports.rb +98 -77
  33. data/lib/rbeapi/api/system.rb +93 -25
  34. data/lib/rbeapi/api/tacacs.rb +54 -35
  35. data/lib/rbeapi/api/users.rb +68 -68
  36. data/lib/rbeapi/api/varp.rb +56 -47
  37. data/lib/rbeapi/api/vlans.rb +86 -86
  38. data/lib/rbeapi/api/vrrp.rb +210 -173
  39. data/lib/rbeapi/client.rb +142 -108
  40. data/lib/rbeapi/eapilib.rb +73 -62
  41. data/lib/rbeapi/utils.rb +8 -8
  42. data/lib/rbeapi/version.rb +2 -2
  43. data/spec/fixtures/test.conf +3 -3
  44. data/spec/system/rbeapi/api/system_spec.rb +46 -2
  45. data/spec/system/rbeapi/api/vlans_spec.rb +5 -2
  46. data/spec/system/rbeapi/client_spec.rb +4 -4
  47. data/spec/unit/rbeapi/api/system/default_spec.rb +40 -4
  48. data/spec/unit/rbeapi/api/system/fixture_system.text +14 -0
  49. data/spec/unit/rbeapi/api/vlans/default_spec.rb +1 -1
  50. data/spec/unit/rbeapi/api/vlans/fixture_vlans.text +2 -0
  51. data/spec/unit/rbeapi/client_spec.rb +1 -0
  52. metadata +9 -9
  53. data/guide/cookbook.rst +0 -4
  54. data/guide/developing.rst +0 -4
  55. data/guide/faq.rst +0 -4
  56. data/guide/quickstart.rst +0 -4
  57. data/guide/troubleshooting.rst +0 -1
@@ -32,10 +32,10 @@
32
32
  require 'rbeapi/api'
33
33
 
34
34
  ##
35
- # Eos is the toplevel namespace for working with Arista EOS nodes
35
+ # Eos is the toplevel namespace for working with Arista EOS nodes.
36
36
  module Rbeapi
37
37
  ##
38
- # Api is module namespace for working with the EOS command API
38
+ # Api is module namespace for working with the EOS command API.
39
39
  module Api
40
40
  ##
41
41
  # The Vrrp class manages the set of virtual routers.
@@ -74,7 +74,7 @@ module Rbeapi
74
74
  # }
75
75
  # }
76
76
  #
77
- # @param [String] :name The layer 3 interface name.
77
+ # @param name [String] The layer 3 interface name.
78
78
  #
79
79
  # @return [nil, Hash<Symbol, Object>] Returns the VRRP resource as a
80
80
  # Hash with the virtual router ID as the key. If the interface name
@@ -128,7 +128,7 @@ module Rbeapi
128
128
  #
129
129
  # @return [nil, Hash<Symbol, Object>] Returns a hash that represents
130
130
  # the entire virtual router IPs collection for all the layer 3
131
- # interfaces from the nodes running configuration. If there are no
131
+ # interfaces from the nodes running configuration. If there are no
132
132
  # virtual routers configured, this method will return an empty hash.
133
133
  def getall
134
134
  interfaces = config.scan(/(?<=^interface\s).+$/)
@@ -144,8 +144,9 @@ module Rbeapi
144
144
  #
145
145
  # @api private
146
146
  #
147
- # @param [String] :config The interface config.
148
- # @param [String] :vrid The virtual router id.
147
+ # @param config [String] The interface config.
148
+ #
149
+ # @param vrid [String] The virtual router id.
149
150
  #
150
151
  # @return [Hash<'primary_ip', String>] Where string is the IPv4
151
152
  # address or nil if the value is not set.
@@ -166,8 +167,9 @@ module Rbeapi
166
167
  #
167
168
  # @api private
168
169
  #
169
- # @param [String] :config The interface config.
170
- # @param [String] :vrid The virtual router id.
170
+ # @param config [String] The interface config.
171
+ #
172
+ # @param vrid [String] The virtual router id.
171
173
  #
172
174
  # @return [Hash<'priority', Integer>] The priority is between
173
175
  # <1-255> or nil if the value is not set.
@@ -188,8 +190,9 @@ module Rbeapi
188
190
  #
189
191
  # @api private
190
192
  #
191
- # @param [String] :config The interface config.
192
- # @param [String] :vrid The virtual router id.
193
+ # @param config [String] The interface config.
194
+ #
195
+ # @param vrid [String] The virtual router id.
193
196
  #
194
197
  # @return [nil, Hash<'timers_advertise', Integer>] The timers_advertise
195
198
  # is between <1-255> or nil if the value is not set.
@@ -210,8 +213,9 @@ module Rbeapi
210
213
  #
211
214
  # @api private
212
215
  #
213
- # @param [String] :config The interface config.
214
- # @param [String] :vrid The virtual router id.
216
+ # @param config [String] The interface config.
217
+ #
218
+ # @param vrid [String] The virtual router id.
215
219
  #
216
220
  # @return [nil, Hash<'preempt', Integer>] The preempt is
217
221
  # between <1-255> or nil if the value is not set.
@@ -232,8 +236,9 @@ module Rbeapi
232
236
  #
233
237
  # @api private
234
238
  #
235
- # @param [String] :config The interface config.
236
- # @param [String] :vrid The virtual router id.
239
+ # @param config [String] The interface config.
240
+ #
241
+ # @param vrid [String] The virtual router id.
237
242
  #
238
243
  # @return [Hash<'enable', Boolean>]
239
244
  def parse_enable(config, vrid)
@@ -253,8 +258,9 @@ module Rbeapi
253
258
  #
254
259
  # @api private
255
260
  #
256
- # @param [String] :config The interface config.
257
- # @param [String] :vrid The virtual router id.
261
+ # @param config [String] The interface config.
262
+ #
263
+ # @param vrid [String] The virtual router id.
258
264
  #
259
265
  # @return [nil, Hash<'secondary_ip', Array<Strings>>] Returns an empty
260
266
  # array if the value is not set.
@@ -275,8 +281,9 @@ module Rbeapi
275
281
  #
276
282
  # @api private
277
283
  #
278
- # @param [String] :config The interface config.
279
- # @param [String] :vrid The virtual router id.
284
+ # @param config [String] The interface config.
285
+ #
286
+ # @param vrid [String] The virtual router id.
280
287
  #
281
288
  # @return [nil, Hash<'secondary_ip', String>] Returns nil if the
282
289
  # value is not set.
@@ -297,8 +304,9 @@ module Rbeapi
297
304
  #
298
305
  # @api private
299
306
  #
300
- # @param [String] :config The interface config.
301
- # @param [String] :vrid The virtual router id.
307
+ # @param config [String] The interface config.
308
+ #
309
+ # @param vrid [String] The virtual router id.
302
310
  #
303
311
  # @return [Hash<'track', Array<Hashes>] Returns an empty array if the
304
312
  # value is not set. An example array of hashes follows:
@@ -325,8 +333,9 @@ module Rbeapi
325
333
  #
326
334
  # @api private
327
335
  #
328
- # @param [String] :config The interface config.
329
- # @param [String] :vrid The virtual router id.
336
+ # @param config [String] The interface config.
337
+ #
338
+ # @param vrid [String] The virtual router id.
330
339
  #
331
340
  # @return [Hash<'ip_version', Integer>] Returns nil if the
332
341
  # value is not set.
@@ -348,8 +357,9 @@ module Rbeapi
348
357
  #
349
358
  # @api private
350
359
  #
351
- # @param [String] :config The interface config.
352
- # @param [String] :vrid The virtual router id.
360
+ # @param config [String] The interface config.
361
+ #
362
+ # @param vrid [String] The virtual router id.
353
363
  #
354
364
  # @return [Hash<'mac_addr_adv_interval', Integer>] Returns nil if the
355
365
  # value is not set.
@@ -368,12 +378,13 @@ module Rbeapi
368
378
 
369
379
  ##
370
380
  # parse_preempt_delay_min scans the nodes configurations for the given
371
- # virtual router id and extracts the preempt delay minimum value..
381
+ # virtual router id and extracts the preempt delay minimum value.
372
382
  #
373
383
  # @api private
374
384
  #
375
- # @param [String] :config The interface config.
376
- # @param [String] :vrid The virtual router id.
385
+ # @param config [String] The interface config.
386
+ #
387
+ # @param vrid [String] The virtual router id.
377
388
  #
378
389
  # @return [Hash<'preempt_delay_min', Integer>] Returns nil if the
379
390
  # value is not set.
@@ -394,8 +405,9 @@ module Rbeapi
394
405
  #
395
406
  # @api private
396
407
  #
397
- # @param [String] :config The interface config.
398
- # @param [String] :vrid The virtual router id.
408
+ # @param config [String] The interface config.
409
+ #
410
+ # @param vrid [String] The virtual router id.
399
411
  #
400
412
  # @return [Hash<'preempt_delay_reload', Integer>] Returns nil if the
401
413
  # value is not set.
@@ -416,10 +428,11 @@ module Rbeapi
416
428
  #
417
429
  # @api private
418
430
  #
419
- # @param [String] :config The interface config.
420
- # @param [String] :vrid The virtual router id.
431
+ # @param config [String] The interface config.
432
+ #
433
+ # @param vrid [String] The virtual router id.
421
434
  #
422
- # @return [Hash<'delay_reload', Integer>] Returns empty hash if the
435
+ # @return [Hash<'delay_reload', Integer>] Returns empty hash if the
423
436
  # value is not set.
424
437
  def parse_delay_reload(config, vrid)
425
438
  match = config.scan(/^\s+vrrp #{vrid} delay reload (\d+)$/)
@@ -434,69 +447,69 @@ module Rbeapi
434
447
 
435
448
  ##
436
449
  # create will create a new virtual router ID resource for the interface
437
- # in the nodes current. If the create method is called and the virtual
450
+ # in the nodes current. If the create method is called and the virtual
438
451
  # router ID already exists for the interface, this method will still
439
- # return true. Create takes optional parameters, but at least one
452
+ # return true. Create takes optional parameters, but at least one
440
453
  # parameter needs to be set or the command will fail.
441
454
  #
442
- # @eos_version 4.13.7M
455
+ # @since eos_version 4.13.7M
443
456
  #
444
- # @commands
457
+ # ===Commands
445
458
  # interface <name>
446
459
  # vrrp <vrid> ...
447
460
  #
448
- # @param [String] :name The layer 3 interface name.
461
+ # @param name [String] The layer 3 interface name.
449
462
  #
450
- # @param [String] :vrid The virtual router id.
463
+ # @param vrid [String] The virtual router id.
451
464
  #
452
- # @param [hash] :opts Optional keyword arguments
465
+ # @param opts [hash] Optional keyword arguments.
453
466
  #
454
- # @option :opts [Boolean] :enable Enable the virtual router.
467
+ # @option opts enable [Boolean] Enable the virtual router.
455
468
  #
456
- # @option :opts [String] :primary_ip The primary IPv4 address.
469
+ # @option opts primary_ip [String] The primary IPv4 address.
457
470
  #
458
- # @option :opts [Integer] :priority The priority setting for a virtual
471
+ # @option opts priority [Integer] The priority setting for a virtual
459
472
  # router.
460
473
  #
461
- # @option :opts [String] :description Associates a text string to a
474
+ # @option opts description [String] Associates a text string to a
462
475
  # virtual router.
463
476
  #
464
- # @option :opts [Array<String>] :secondary_ip The secondary IPv4
477
+ # @option opts secondary_ip [Array<String>] The secondary IPv4
465
478
  # address to the specified virtual router.
466
479
  #
467
- # @option :opts [Integer] :ip_version Configures the VRRP version for
480
+ # @option opts ip_version [Integer] Configures the VRRP version for
468
481
  # the VRRP router.
469
482
  #
470
- # @option :opts [Integer] :timers_advertise The interval between
483
+ # @option opts timers_advertise [Integer] The interval between
471
484
  # successive advertisement messages that the switch sends to routers
472
485
  # in the specified virtual router ID.
473
486
  #
474
- # @option :opts [Integer] :mac_addr_adv_interval Specifies interval in
487
+ # @option opts mac_addr_adv_interval [Integer] Specifies interval in
475
488
  # seconds between advertisement packets sent to VRRP group members.
476
489
  #
477
- # @option :opts [Boolean] :preempt A virtual router preempt mode
490
+ # @option opts preempt [Boolean] A virtual router preempt mode
478
491
  # setting. When preempt mode is enabled, if the switch has a higher
479
492
  # priority it will preempt the current master virtual router. When
480
493
  # preempt mode is disabled, the switch can become the master virtual
481
494
  # router only when a master virtual router is not present on the
482
495
  # subnet, regardless of priority settings.
483
496
  #
484
- # @option :opts [Integer] :preempt_delay_min Interval in seconds between
497
+ # @option opts preempt_delay_min [Integer] Interval in seconds between
485
498
  # VRRP preempt event and takeover. Minimum delays takeover when VRRP
486
499
  # is fully implemented.
487
500
  #
488
- # @option :opts [Integer] :preempt_delay_reload Interval in seconds
501
+ # @option opts preempt_delay_reload [Integer] Interval in seconds
489
502
  # between VRRP preempt event and takeover. Reload delays takeover
490
503
  # after initialization following a switch reload.
491
504
  #
492
- # @option :opts [Integer] :delay_reload Delay between system reboot and
505
+ # @option opts delay_reload [Integer] Delay between system reboot and
493
506
  # VRRP initialization.
494
507
  #
495
- # @option :opts [Array<Hash>] :track The track hash contains the
508
+ # @option opts track [Array<Hash>] The track hash contains the
496
509
  # name of an interface to track, the action to take on state-change
497
510
  # of the tracked interface, and the amount to decrement the priority.
498
511
  #
499
- # @return [Boolean] returns true if the command completed successfully
512
+ # @return [Boolean] Returns true if the command completed successfully.
500
513
  def create(name, vrid, opts = {})
501
514
  fail ArgumentError, 'create has no options set' if opts.empty?
502
515
  cmds = []
@@ -555,16 +568,17 @@ module Rbeapi
555
568
  # and the virtual router id does not exist on the interface, this
556
569
  # method will succeed.
557
570
  #
558
- # @eos_version 4.13.7M
571
+ # @since eos_version 4.13.7M
559
572
  #
560
- # @commands
573
+ # ===Commands
561
574
  # interface <name>
562
575
  # no vrrp <vrid>
563
576
  #
564
- # @param [String] :name The layer 3 interface name.
565
- # @param [Integer] :vrid The virtual router ID.
577
+ # @param name [String] The layer 3 interface name.
566
578
  #
567
- # @return [Boolean] returns true if the command completed successfully
579
+ # @param vrid [Integer] The virtual router ID.
580
+ #
581
+ # @return [Boolean] Returns true if the command completed successfully.
568
582
  def delete(name, vrid)
569
583
  configure_interface(name, "no vrrp #{vrid}")
570
584
  end
@@ -577,16 +591,17 @@ module Rbeapi
577
591
  # virtual router id does not exist on the interface, this method will
578
592
  # succeed.
579
593
  #
580
- # @eos_version 4.13.7M
594
+ # @since eos_version 4.13.7M
581
595
  #
582
- # @commands
596
+ # ===Commands
583
597
  # interface <name>
584
598
  # default vrrp <vrid>
585
599
  #
586
- # @param [String] :name The layer 3 interface name.
587
- # @param [Integer] :vrid The virtual router ID.
600
+ # @param name [String] The layer 3 interface name.
601
+ #
602
+ # @param vrid [Integer] The virtual router ID.
588
603
  #
589
- # @return [Boolean] returns true if the command complete successfully
604
+ # @return [Boolean] Returns true if the command complete successfully.
590
605
  def default(name, vrid)
591
606
  configure_interface(name, "default vrrp #{vrid}")
592
607
  end
@@ -594,26 +609,28 @@ module Rbeapi
594
609
  ##
595
610
  # set_shutdown enables and disables the virtual router.
596
611
  #
597
- # @commands
612
+ # ===Commands
598
613
  # interface <name>
599
614
  # {no | default} vrrp <vrid> shutdown
600
615
  #
601
- # @param [String] :name The layer 3 interface name.
602
- # @param [Integer] :vrid The virtual router ID.
603
- # @param [hash] :opts Optional keyword arguments
616
+ # @param name [String] The layer 3 interface name.
604
617
  #
605
- # @option :opts [Boolean] :enable If enable is true then the virtual
618
+ # @param vrid [Integer] The virtual router ID.
619
+ #
620
+ # @param opts [hash] Optional keyword arguments.
621
+ #
622
+ # @option opts enable [Boolean] If enable is true then the virtual
606
623
  # router is administratively enabled for the interface and if enable
607
624
  # is false then the virtual router is administratively disabled
608
625
  # for the interface. Default is true.
609
626
  #
610
- # @option :opts [Boolean] :default Configure shutdown using
627
+ # @option opts default [Boolean] Configure shutdown using
611
628
  # the default keyword.
612
629
  #
613
- # @return [Boolean] returns true if the command complete successfully
630
+ # @return [Boolean] Returns true if the command complete successfully.
614
631
  def set_shutdown(name, vrid, opts = {})
615
632
  fail 'set_shutdown has the value option set' if opts[:value]
616
- # Shutdown semantics are opposite of enable semantics so invert enable
633
+ # Shutdown semantics are opposite of enable semantics so invert enable.
617
634
  enable = opts.fetch(:enable, true)
618
635
  opts.merge!(enable: !enable)
619
636
  cmd = "vrrp #{vrid} shutdown"
@@ -623,23 +640,25 @@ module Rbeapi
623
640
  ##
624
641
  # set_primary_ip sets the primary IP address for the virtual router.
625
642
  #
626
- # @commands
643
+ # ===Commands
627
644
  # interface <name>
628
645
  # {no | default} vrrp <vrid> ip <A.B.C.D>
629
646
  #
630
- # @param [String] :name The layer 3 interface name.
631
- # @param [Integer] :vrid The virtual router ID.
632
- # @param [hash] :opts Optional keyword arguments
647
+ # @param name [String] The layer 3 interface name.
648
+ #
649
+ # @param vrid [Integer] The virtual router ID.
650
+ #
651
+ # @param opts [hash] Optional keyword arguments.
633
652
  #
634
- # @option :opts [String] :value The primary IPv4 address.
653
+ # @option opts value [String] The primary IPv4 address.
635
654
  #
636
- # @option :opts [Boolean] :enable If false then the command is
655
+ # @option opts enable [Boolean] If false then the command is
637
656
  # negated. Default is true.
638
657
  #
639
- # @option :opts [Boolean] :default Configure the primary IP address using
658
+ # @option opts default [Boolean] Configure the primary IP address using
640
659
  # the default keyword.
641
660
  #
642
- # @return [Boolean] returns true if the command complete successfully
661
+ # @return [Boolean] Returns true if the command complete successfully.
643
662
  def set_primary_ip(name, vrid, opts = {})
644
663
  cmd = "vrrp #{vrid} ip"
645
664
  configure_interface(name, command_builder(cmd, opts))
@@ -648,23 +667,25 @@ module Rbeapi
648
667
  ##
649
668
  # set_priority sets the priority for a virtual router.
650
669
  #
651
- # @commands
670
+ # ===Commands
652
671
  # interface <name>
653
672
  # {no | default} vrrp <vrid> priority <priority>
654
673
  #
655
- # @param [String] :name The layer 3 interface name.
656
- # @param [Integer] :vrid The virtual router ID.
657
- # @param [hash] :opts Optional keyword arguments
674
+ # @param name [String] The layer 3 interface name.
658
675
  #
659
- # @option :opts [String] :value The priority value.
676
+ # @param vrid [Integer] The virtual router ID.
660
677
  #
661
- # @option :opts [Boolean] :enable If false then the command is
678
+ # @param opts [hash] Optional keyword arguments.
679
+ #
680
+ # @option opts value [String] The priority value.
681
+ #
682
+ # @option opts enable [Boolean] If false then the command is
662
683
  # negated. Default is true.
663
684
  #
664
- # @option :opts [Boolean] :default Configure the priority using
685
+ # @option opts default [Boolean] Configure the priority using
665
686
  # the default keyword.
666
687
  #
667
- # @return [Boolean] returns true if the command complete successfully
688
+ # @return [Boolean] Returns true if the command complete successfully.
668
689
  def set_priority(name, vrid, opts = {})
669
690
  cmd = "vrrp #{vrid} priority"
670
691
  configure_interface(name, command_builder(cmd, opts))
@@ -673,23 +694,25 @@ module Rbeapi
673
694
  ##
674
695
  # set_description sets the description for a virtual router.
675
696
  #
676
- # @commands
697
+ # ===Commands
677
698
  # interface <name>
678
699
  # {no | default} vrrp <vrid> description <description>
679
700
  #
680
- # @param [String] :name The layer 3 interface name.
681
- # @param [Integer] :vrid The virtual router ID.
682
- # @param [hash] :opts Optional keyword arguments
701
+ # @param name [String] The layer 3 interface name.
702
+ #
703
+ # @param vrid [Integer] The virtual router ID.
683
704
  #
684
- # @option :opts [String] :value The description value.
705
+ # @param opts [hash] Optional keyword arguments.
685
706
  #
686
- # @option :opts [Boolean] :enable If false then the command is
707
+ # @option opts value [String] The description value.
708
+ #
709
+ # @option opts enable [Boolean] If false then the command is
687
710
  # negated. Default is true.
688
711
  #
689
- # @option :opts [Boolean] :default Configure the description using
712
+ # @option opts default [Boolean] Configure the description using
690
713
  # the default keyword.
691
714
  #
692
- # @return [Boolean] returns true if the command complete successfully
715
+ # @return [Boolean] Returns true if the command complete successfully.
693
716
  def set_description(name, vrid, opts = {})
694
717
  cmd = "vrrp #{vrid} description"
695
718
  configure_interface(name, command_builder(cmd, opts))
@@ -702,11 +725,11 @@ module Rbeapi
702
725
  #
703
726
  # @api private
704
727
  #
705
- # @param [String] :name The layer 3 interface name.
728
+ # @param name [String] The layer 3 interface name.
706
729
  #
707
- # @param [Integer] :vrid The virtual router ID.
730
+ # @param vrid [Integer] The virtual router ID.
708
731
  #
709
- # @param [Array<String>] :ip_addrs Array of secondary IPv4 address.
732
+ # @param ip_addrs [Array<String>] Array of secondary IPv4 address.
710
733
  # An empty array will remove all secondary IPv4 addresses set for
711
734
  # the virtual router on the specified layer 3 interface.
712
735
  #
@@ -744,27 +767,27 @@ module Rbeapi
744
767
  private :build_secondary_ip_cmd
745
768
 
746
769
  # set_secondary_ips configures the set of secondary IP addresses
747
- # associated with the virtual router. The ip_addrs value passed
748
- # should be an array of IP Addresses. This method will remove
770
+ # associated with the virtual router. The ip_addrs value passed
771
+ # should be an array of IP Addresses. This method will remove
749
772
  # secondary IP addresses that are currently set for the virtual
750
773
  # router but not included in the ip_addrs array value passed in.
751
774
  # The method will then add secondary IP addresses that are not
752
775
  # currently set for the virtual router but are included in the
753
776
  # ip_addrs array value passed in.
754
777
  #
755
- # @commands
778
+ # ===Commands
756
779
  # interface <name>
757
780
  # {no} vrrp <vrid> ip <A.B.C.D> secondary
758
781
  #
759
- # @param [String] :name The layer 3 interface name.
782
+ # @param name [String] The layer 3 interface name.
760
783
  #
761
- # @param [Integer] :vrid The virtual router ID.
784
+ # @param vrid [Integer] The virtual router ID.
762
785
  #
763
- # @param [Array<String>] :ip_addrs Array of secondary IPv4 address.
786
+ # @param ip_addrs [Array<String>] Array of secondary IPv4 address.
764
787
  # An empty array will remove all secondary IPv4 addresses set for
765
788
  # the virtual router on the specified layer 3 interface.
766
789
  #
767
- # @return [Boolean] returns true if the command complete successfully
790
+ # @return [Boolean] Returns true if the command complete successfully.
768
791
  def set_secondary_ip(name, vrid, ip_addrs)
769
792
  cmds = build_secondary_ip_cmd(name, vrid, ip_addrs)
770
793
  return true if cmds.empty?
@@ -774,23 +797,25 @@ module Rbeapi
774
797
  ##
775
798
  # set_ip_version sets the VRRP version for a virtual router.
776
799
  #
777
- # @commands
800
+ # ===Commands
778
801
  # interface <name>
779
802
  # {no | default} vrrp <vrid> ip version <version>
780
803
  #
781
- # @param [String] :name The layer 3 interface name.
782
- # @param [Integer] :vrid The virtual router ID.
783
- # @param [hash] :opts Optional keyword arguments
804
+ # @param name [String] The layer 3 interface name.
805
+ #
806
+ # @param vrid [Integer] The virtual router ID.
784
807
  #
785
- # @option :opts [String] :value The VRRP version.
808
+ # @param opts [hash] Optional keyword arguments.
786
809
  #
787
- # @option :opts [Boolean] :enable If false then the command is
810
+ # @option opts value [String] The VRRP version.
811
+ #
812
+ # @option opts enable [Boolean] If false then the command is
788
813
  # negated. Default is true.
789
814
  #
790
- # @option :opts [Boolean] :default Configure the VRRP version using
815
+ # @option opts default [Boolean] Configure the VRRP version using
791
816
  # the default keyword.
792
817
  #
793
- # @return [Boolean] returns true if the command complete successfully
818
+ # @return [Boolean] Returns true if the command complete successfully.
794
819
  def set_ip_version(name, vrid, opts = {})
795
820
  cmd = "vrrp #{vrid} ip version"
796
821
  configure_interface(name, command_builder(cmd, opts))
@@ -801,23 +826,25 @@ module Rbeapi
801
826
  # advertisement messages that the switch sends to routers in the
802
827
  # specified virtual router ID.
803
828
  #
804
- # @commands
829
+ # ===Commands
805
830
  # interface <name>
806
831
  # {no | default} vrrp <vrid> timers advertise <secs>
807
832
  #
808
- # @param [String] :name The layer 3 interface name.
809
- # @param [Integer] :vrid The virtual router ID.
810
- # @param [hash] :opts Optional keyword arguments
833
+ # @param name [String] The layer 3 interface name.
834
+ #
835
+ # @param vrid [Integer] The virtual router ID.
836
+ #
837
+ # @param opts [hash] Optional keyword arguments.
811
838
  #
812
- # @option :opts [String] :value The timer value in seconds.
839
+ # @option opts value [String] The timer value in seconds.
813
840
  #
814
- # @option :opts [Boolean] :enable If false then the command is
841
+ # @option opts enable [Boolean] If false then the command is
815
842
  # negated. Default is true.
816
843
  #
817
- # @option :opts [Boolean] :default Configure the timer advertise value
844
+ # @option opts default [Boolean] Configure the timer advertise value
818
845
  # using the default keyword.
819
846
  #
820
- # @return [Boolean] returns true if the command complete successfully
847
+ # @return [Boolean] Returns true if the command complete successfully.
821
848
  def set_timers_advertise(name, vrid, opts = {})
822
849
  cmd = "vrrp #{vrid} timers advertise"
823
850
  configure_interface(name, command_builder(cmd, opts))
@@ -828,24 +855,26 @@ module Rbeapi
828
855
  # advertisement packets sent to VRRP group members for the
829
856
  # specified virtual router ID.
830
857
  #
831
- # @commands
858
+ # ===Commands
832
859
  # interface <name>
833
860
  # {no | default} vrrp <vrid> mac-address advertisement-interval <secs>
834
861
  #
835
- # @param [String] :name The layer 3 interface name.
836
- # @param [Integer] :vrid The virtual router ID.
837
- # @param [hash] :opts Optional keyword arguments
862
+ # @param name [String] The layer 3 interface name.
863
+ #
864
+ # @param vrid [Integer] The virtual router ID.
865
+ #
866
+ # @param opts [hash] Optional keyword arguments
838
867
  #
839
- # @option :opts [String] :value The mac address advertisement interval
868
+ # @option opts value [String] The mac address advertisement interval
840
869
  # value in seconds.
841
870
  #
842
- # @option :opts [Boolean] :enable If false then the command is
871
+ # @option opts enable [Boolean] If false then the command is
843
872
  # negated. Default is true.
844
873
  #
845
- # @option :opts [Boolean] :default Configure the timer advertise value
874
+ # @option opts default [Boolean] Configure the timer advertise value
846
875
  # using the default keyword.
847
876
  #
848
- # @return [Boolean] returns true if the command complete successfully
877
+ # @return [Boolean] Returns true if the command complete successfully.
849
878
  def set_mac_addr_adv_interval(name, vrid, opts = {})
850
879
  cmd = "vrrp #{vrid} mac-address advertisement-interval"
851
880
  configure_interface(name, command_builder(cmd, opts))
@@ -859,23 +888,25 @@ module Rbeapi
859
888
  # when a master virtual router is not present on the subnet,
860
889
  # regardless of priority settings.
861
890
  #
862
- # @commands
891
+ # ===Commands
863
892
  # interface <name>
864
893
  # {no | default} vrrp <vrid> preempt
865
894
  #
866
- # @param [String] :name The layer 3 interface name.
867
- # @param [Integer] :vrid The virtual router ID.
868
- # @param [hash] :opts Optional keyword arguments
895
+ # @param name [String] The layer 3 interface name.
869
896
  #
870
- # @option :opts [Boolean] :enable If enable is true then the virtual
897
+ # @param vrid [Integer] The virtual router ID.
898
+ #
899
+ # @param opts [hash] Optional keyword arguments.
900
+ #
901
+ # @option opts enable [Boolean] If enable is true then the virtual
871
902
  # router preempt mode is administratively enabled for the interface
872
903
  # and if enable is false then the virtual router preempt mode is
873
904
  # administratively disabled for the interface. Default is true.
874
905
  #
875
- # @option :opts [Boolean] :default Configure the timer advertise value
906
+ # @option opts default [Boolean] Configure the timer advertise value
876
907
  # using the default keyword.
877
908
  #
878
- # @return [Boolean] returns true if the command complete successfully
909
+ # @return [Boolean] Returns true if the command complete successfully.
879
910
  def set_preempt(name, vrid, opts = {})
880
911
  fail 'set_preempt has the value option set' if opts[:value]
881
912
  cmd = "vrrp #{vrid} preempt"
@@ -886,23 +917,25 @@ module Rbeapi
886
917
  # set_preempt_delay_min sets the minimum time in seconds for the
887
918
  # virtual router to wait before taking over the active role.
888
919
  #
889
- # @commands
920
+ # ===Commands
890
921
  # interface <name>
891
922
  # {no | default} vrrp <vrid> preempt delay minimum <secs>
892
923
  #
893
- # @param [String] :name The layer 3 interface name.
894
- # @param [Integer] :vrid The virtual router ID.
895
- # @param [hash] :opts Optional keyword arguments
924
+ # @param name [String] The layer 3 interface name.
925
+ #
926
+ # @param vrid [Integer] The virtual router ID.
896
927
  #
897
- # @option :opts [String] :value The preempt delay minimum value.
928
+ # @param opts [hash] Optional keyword arguments.
898
929
  #
899
- # @option :opts [Boolean] :enable If false then the command is
930
+ # @option opts value [String] The preempt delay minimum value.
931
+ #
932
+ # @option opts enable [Boolean] If false then the command is
900
933
  # negated. Default is true.
901
934
  #
902
- # @option :opts [Boolean] :default Configure the preempt delay minimum
935
+ # @option opts default [Boolean] Configure the preempt delay minimum
903
936
  # value using the default keyword.
904
937
  #
905
- # @return [Boolean] returns true if the command complete successfully
938
+ # @return [Boolean] Returns true if the command complete successfully.
906
939
  def set_preempt_delay_min(name, vrid, opts = {})
907
940
  cmd = "vrrp #{vrid} preempt delay minimum"
908
941
  configure_interface(name, command_builder(cmd, opts))
@@ -913,23 +946,25 @@ module Rbeapi
913
946
  # only. This delay period applies only to the first interface-up
914
947
  # event after the virtual router has reloaded.
915
948
  #
916
- # @commands
949
+ # ===Commands
917
950
  # interface <name>
918
951
  # {no | default} vrrp <vrid> preempt delay reload <secs>
919
952
  #
920
- # @param [String] :name The layer 3 interface name.
921
- # @param [Integer] :vrid The virtual router ID.
922
- # @param [hash] :opts Optional keyword arguments
953
+ # @param name [String] The layer 3 interface name.
954
+ #
955
+ # @param vrid [Integer] The virtual router ID.
923
956
  #
924
- # @option :opts [String] :value The preempt delay reload value.
957
+ # @param opts [hash] Optional keyword arguments.
925
958
  #
926
- # @option :opts [Boolean] :enable If false then the command is
959
+ # @option opts value [String] The preempt delay reload value.
960
+ #
961
+ # @option opts enable [Boolean] If false then the command is
927
962
  # negated. Default is true.
928
963
  #
929
- # @option :opts [Boolean] :default Configure the preempt delay reload
930
- # value using the default keyword.
964
+ # @option opts default [Boolean] :default Configure the preempt delay
965
+ # reload value using the default keyword.
931
966
  #
932
- # @return [Boolean] returns true if the command complete successfully
967
+ # @return [Boolean] Returns true if the command complete successfully.
933
968
  def set_preempt_delay_reload(name, vrid, opts = {})
934
969
  cmd = "vrrp #{vrid} preempt delay reload"
935
970
  configure_interface(name, command_builder(cmd, opts))
@@ -939,23 +974,25 @@ module Rbeapi
939
974
  # set_delay_reload sets the delay between system reboot and VRRP
940
975
  # initialization for the virtual router.
941
976
  #
942
- # @commands
977
+ # ===Commands
943
978
  # interface <name>
944
979
  # {no | default} vrrp <vrid> delay reload <secs>
945
980
  #
946
- # @param [String] :name The layer 3 interface name.
947
- # @param [Integer] :vrid The virtual router ID.
948
- # @param [hash] :opts Optional keyword arguments
981
+ # @param name [String] The layer 3 interface name.
982
+ #
983
+ # @param vrid [Integer] The virtual router ID.
984
+ #
985
+ # @param opts [hash] Optional keyword arguments
949
986
  #
950
- # @option :opts [String] :value The delay reload value.
987
+ # @option opts value [String] The delay reload value.
951
988
  #
952
- # @option :opts [Boolean] :enable If false then the command is
989
+ # @option opts enable [Boolean] If false then the command is
953
990
  # negated. Default is true.
954
991
  #
955
- # @option :opts [Boolean] :default Configure the delay reload
992
+ # @option opts default [Boolean] Configure the delay reload
956
993
  # value using the default keyword.
957
994
  #
958
- # @return [Boolean] returns true if the command complete successfully
995
+ # @return [Boolean] Returns true if the command complete successfully.
959
996
  def set_delay_reload(name, vrid, opts = {})
960
997
  cmd = "vrrp #{vrid} delay reload"
961
998
  configure_interface(name, command_builder(cmd, opts))
@@ -968,11 +1005,11 @@ module Rbeapi
968
1005
  #
969
1006
  # @api private
970
1007
  #
971
- # @param [String] :name The layer 3 interface name.
1008
+ # @param name [String] The layer 3 interface name.
972
1009
  #
973
- # @param [Integer] :vrid The virtual router ID.
1010
+ # @param vrid [Integer] The virtual router ID.
974
1011
  #
975
- # @param [Array<Hash>] :tracks Array of a hash of track information.
1012
+ # @param tracks [Array<Hash>] Array of a hash of track information.
976
1013
  # Hash format: { name: 'Eth2', action: 'decrement', amount: 33 },
977
1014
  # The name and action key are required. The amount key should only
978
1015
  # be specified if the action is shutdown. The valid actions are
@@ -1010,7 +1047,7 @@ module Rbeapi
1010
1047
 
1011
1048
  tracks = Set.new tracks
1012
1049
 
1013
- # Get the current tracks set for the virtual router
1050
+ # Get the current tracks set for the virtual router.
1014
1051
  # A return of nil means that nothing has been configured for
1015
1052
  # the virtual router.
1016
1053
  vrrp = get(name)
@@ -1041,27 +1078,27 @@ module Rbeapi
1041
1078
  private :build_tracks_cmd
1042
1079
 
1043
1080
  # set_tracks configures the set of track settings associated with
1044
- # the virtual router. The tracks value passed should be an array of
1045
- # hashes, each hash containing a track entry. This method will remove
1081
+ # the virtual router. The tracks value passed should be an array of
1082
+ # hashes, each hash containing a track entry. This method will remove
1046
1083
  # tracks that are currently set for the virtual router but not included
1047
- # in the tracks array value passed in. The method will then add
1084
+ # in the tracks array value passed in. The method will then add
1048
1085
  # tracks that are not currently set for the virtual router but are
1049
1086
  # included in the tracks array value passed in.
1050
1087
  #
1051
- # @commands
1088
+ # ===Commands
1052
1089
  # interface <name>
1053
1090
  # {no} vrrp <vrid> track <name> <action> [<amount>]
1054
1091
  #
1055
- # @param [String] :name The layer 3 interface name.
1092
+ # @param name [String] The layer 3 interface name.
1056
1093
  #
1057
- # @param [Integer] :vrid The virtual router ID.
1094
+ # @param vrid [Integer] The virtual router ID.
1058
1095
  #
1059
- # @param [Array<Hash>] :tracks Array of a hash of track information.
1096
+ # @param tracks [Array<Hash>] Array of a hash of track information.
1060
1097
  # Hash format: { name: 'Eth2', action: 'decrement', amount: 33 },
1061
1098
  # An empty array will remove all tracks set for
1062
1099
  # the virtual router on the specified layer 3 interface.
1063
1100
  #
1064
- # @return [Boolean] returns true if the command complete successfully
1101
+ # @return [Boolean] Returns true if the command complete successfully.
1065
1102
  def set_tracks(name, vrid, tracks)
1066
1103
  cmds = build_tracks_cmd(name, vrid, tracks)
1067
1104
  return true if cmds.empty?