rbeapi 0.5.0 → 0.5.1

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