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,17 +32,17 @@
32
32
  require 'rbeapi/api'
33
33
 
34
34
  ##
35
- # Rbeapi toplevel namespace
35
+ # Rbeapi toplevel namespace.
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 Varp class provides an instance for working with the global
42
- # VARP configuration of the node
42
+ # VARP configuration of the node.
43
43
  class Varp < Entity
44
44
  ##
45
- # Returns the global VARP configuration from the node
45
+ # Returns the global VARP configuration from the node.
46
46
  #
47
47
  # @example
48
48
  # {
@@ -58,7 +58,7 @@ module Rbeapi
58
58
  # }
59
59
  # }
60
60
  #
61
- # @return [Hash] A Ruby hash object that provides the Varp settings as
61
+ # @return [Hash] A Ruby hash object that provides the Varp settings as
62
62
  # key / value pairs.
63
63
  def get
64
64
  response = {}
@@ -68,17 +68,17 @@ module Rbeapi
68
68
  end
69
69
 
70
70
  ##
71
- # parse_mac_address parses mac-address values from the provided config
71
+ # parse_mac_address parses mac-address values from the provided config.
72
72
  #
73
73
  # @api private
74
74
  #
75
- # @param [String] :config The configuration block returned
76
- # from the node's running configuration
75
+ # @param config [String] The configuration block returned
76
+ # from the node's running configuration.
77
77
  #
78
- # @return [Hash<Symbol, Object>] resource hash attribute
78
+ # @return [Hash<Symbol, Object>] Returns the resource hash attribute.
79
79
  def parse_mac_address(config)
80
80
  # ip virtual-router mac-address value will always
81
- # be stored in aa:bb:cc:dd:ee:ff format
81
+ # be stored in aa:bb:cc:dd:ee:ff format.
82
82
  regex = /mac-address ((?:[a-f0-9]{2}:){5}[a-f0-9]{2})$/
83
83
  mdata = regex.match(config)
84
84
  { mac_address: mdata.nil? ? '' : mdata[1] }
@@ -92,15 +92,18 @@ module Rbeapi
92
92
  end
93
93
 
94
94
  ##
95
- # Configure the VARP virtual-router mac-address value
95
+ # Configure the VARP virtual-router mac-address value.
96
96
  #
97
- # @param [Hash] opts The configuration parameters
98
- # @option opts [string] :value The value to set the mac-address to
99
- # @option opts [Boolean] :enable If false then the command is
97
+ # @param opts [Hash] The configuration parameters.
98
+ #
99
+ # @option opts value [string] The value to set the mac-address to.
100
+ #
101
+ # @option opts enable [Boolean] If false then the command is
100
102
  # negated. Default is true.
101
- # @option opts [Boolean] :default The value should be set to default
102
103
  #
103
- # @return [Boolean] returns true if the command completed successfully
104
+ # @option opts default [Boolean] The value should be set to default.
105
+ #
106
+ # @return [Boolean] Returns true if the command completed successfully.
104
107
  def set_mac_address(opts = {})
105
108
  cmd = command_builder('ip virtual-router mac-address', opts)
106
109
  configure(cmd)
@@ -109,21 +112,21 @@ module Rbeapi
109
112
 
110
113
  ##
111
114
  # The VarpInterfaces class provides an instance for working with the global
112
- # VARP interface configuration of the node
115
+ # VARP interface configuration of the node.
113
116
  class VarpInterfaces < Entity
114
117
  ##
115
- # Returns a single VARP interface configuration
118
+ # Returns a single VARP interface configuration.
116
119
  #
117
120
  # @example
118
121
  # {
119
122
  # "addresses": array<string>
120
123
  # }
121
124
  #
122
- # @param [String] :name The interface name to return the configuration
123
- # values for. This must be the full interface identifier.
125
+ # @param name [String] The interface name to return the configuration
126
+ # values for. This must be the full interface identifier.
124
127
  #
125
128
  # @return [nil, Hash<String, String>] A Ruby hash that represents the
126
- # VARP interface configuration. A nil object is returned if the
129
+ # VARP interface configuration. A nil object is returned if the
127
130
  # specified interface is not configured
128
131
  def get(name)
129
132
  config = get_block("^interface #{name}")
@@ -134,7 +137,7 @@ module Rbeapi
134
137
 
135
138
  ##
136
139
  # Returns the collection of MLAG interfaces as a hash index by the
137
- # interface name
140
+ # interface name.
138
141
  #
139
142
  # @example
140
143
  # {
@@ -148,7 +151,7 @@ module Rbeapi
148
151
  # }
149
152
  #
150
153
  # @return [nil, Hash<String, String>] A Ruby hash that represents the
151
- # MLAG interface configuration. A nil object is returned if no
154
+ # MLAG interface configuration. A nil object is returned if no
152
155
  # interfaces are configured.
153
156
  def getall
154
157
  interfaces = config.scan(/(?<=^interface\s)(Vl.+)$/)
@@ -162,14 +165,14 @@ module Rbeapi
162
165
 
163
166
  ##
164
167
  # parse_addresses parses ip virtual-router address from the provided
165
- # config
168
+ # config.
166
169
  #
167
170
  # @api private
168
171
  #
169
- # @param [String] :config The configuration block returned
170
- # from the node's running configuration
172
+ # @param config [String] The configuration block returned
173
+ # from the node's running configuration.
171
174
  #
172
- # @return [Hash<Symbol, Object>] resource hash attribute
175
+ # @return [Hash<Symbol, Object>] Returns the resource hash attribute.
173
176
  def parse_addresses(config)
174
177
  addrs = config.scan(/(?<=\s{3}ip\svirtual-router\saddress\s).+$/)
175
178
  { addresses: addrs }
@@ -181,17 +184,21 @@ module Rbeapi
181
184
  # to the specified VLAN interface. All existing addresses are
182
185
  # removed before the ones in value are added.
183
186
  #
184
- # @param [String] :name The name of the interface. The
185
- # name argument must be the full interface name. Valid interfaces
186
- # are restricted to VLAN interfaces
187
- # @param [Hash] opts The configuration parameters
188
- # @option opts [Array] :value Array of IPv4 addresses to add to
187
+ # @param name [String] The name of the interface. The
188
+ # name argument must be the full interface name. Valid interfaces
189
+ # are restricted to VLAN interfaces.
190
+ #
191
+ # @param opts [Hash] The configuration parameters.
192
+ #
193
+ # @option opts value [Array] Array of IPv4 addresses to add to
189
194
  # the virtual router.
190
- # @option opts [Boolean] :enable If false then the command is
195
+ #
196
+ # @option opts enable [Boolean] If false then the command is
191
197
  # negated. Default is true.
192
- # @option opts [Boolean] :default The value should be set to default
193
198
  #
194
- # @return [Boolean] True if the commands succeeds otherwise False
199
+ # @option opts default [Boolean] The value should be set to default.
200
+ #
201
+ # @return [Boolean] True if the commands succeeds otherwise False.
195
202
  def set_addresses(name, opts = {})
196
203
  value = opts[:value]
197
204
  enable = opts.fetch(:enable, true)
@@ -215,27 +222,29 @@ module Rbeapi
215
222
  end
216
223
 
217
224
  ##
218
- # The add_address method assigns one virtual IPv4 address
225
+ # The add_address method assigns one virtual IPv4 address.
219
226
  #
220
- # @param [String] :name The name of the interface. The
221
- # name argument must be the full interface name. Valid interfaces
222
- # are restricted to VLAN interfaces
223
- # @param [string] :address The virtual router address to add
227
+ # @param name [String] The name of the interface. The
228
+ # name argument must be the full interface name. Valid interfaces
229
+ # are restricted to VLAN interfaces.
224
230
  #
225
- # @return [Boolean] True if the commands succeeds otherwise False
231
+ # @param value [string] The virtual router address to add.
232
+ #
233
+ # @return [Boolean] True if the commands succeeds otherwise False.
226
234
  def add_address(name, value)
227
235
  configure(["interface #{name}", "ip virtual-router address #{value}"])
228
236
  end
229
237
 
230
238
  ##
231
- # The remove_address method removes one virtual IPv4 address
239
+ # The remove_address method removes one virtual IPv4 address.
240
+ #
241
+ # @param name [String] The name of the interface. The
242
+ # name argument must be the full interface name. Valid interfaces
243
+ # are restricted to VLAN interfaces.
232
244
  #
233
- # @param [String] :name The name of the interface. The
234
- # name argument must be the full interface name. Valid interfaces
235
- # are restricted to VLAN interfaces
236
- # @param [string] :address The virtual router address to remove
245
+ # @param value [string] The virtual router address to remove.
237
246
  #
238
- # @return [Boolean] True if the commands succeeds otherwise False
247
+ # @return [Boolean] True if the commands succeeds otherwise False.
239
248
  def remove_address(name, value)
240
249
  configure(["interface #{name}",
241
250
  "no ip virtual-router address #{value}"])
@@ -32,17 +32,17 @@
32
32
  require 'rbeapi/api'
33
33
 
34
34
  ##
35
- # Rbeapi toplevel namespace
35
+ # Rbeapi toplevel namespace.
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 Vlan class provides a class implementation for working with the
42
- # collection of Vlans on the node. This class presents an abstraction
42
+ # collection of Vlans on the node. This class presents an abstraction
43
43
  # of the nodes configured vlan id's from the running configuration.
44
44
  #
45
- # @eos_version 4.13.7M
45
+ # @since eos_version 4.13.7M
46
46
  class Vlans < Entity
47
47
  ##
48
48
  # get returns the specified vlan resource Hash that represents the
@@ -55,12 +55,12 @@ module Rbeapi
55
55
  # trunk_groups: array[<string]
56
56
  # }
57
57
  #
58
- # @param [String] :id The vlan id to return a resource for from the
59
- # nodes configuration
58
+ # @param id [String] The vlan id to return a resource for from the
59
+ # nodes configuration.
60
60
  #
61
61
  # @return [nil, Hash<Symbol, Object>] Returns the vlan resource as a
62
- # Hash. If the specified vlan id is not found in the nodes current
63
- # configuration a nil object is returned
62
+ # Hash. If the specified vlan id is not found in the nodes current
63
+ # configuration a nil object is returned.
64
64
  def get(id)
65
65
  config = get_block("vlan #{id}")
66
66
  return nil unless config
@@ -73,8 +73,8 @@ module Rbeapi
73
73
 
74
74
  ##
75
75
  # getall returns the collection of vlan resources from the nodes
76
- # running configuration as a hash. The vlan resource collection
77
- # hash is keyed by the unique vlan id
76
+ # running configuration as a hash. The vlan resource collection
77
+ # hash is keyed by the unique vlan id.
78
78
  #
79
79
  # @example
80
80
  # {
@@ -93,10 +93,10 @@ module Rbeapi
93
93
  #
94
94
  # @see get Vlan resource example
95
95
  #
96
- # @return [Hash<Symbol, Object>] returns a hash that represents the
97
- # entire vlan collection from the nodes running configuration. If
96
+ # @return [Hash<Symbol, Object>] Returns a hash that represents the
97
+ # entire vlan collection from the nodes running configuration. If
98
98
  # there are no vlans configured, this method will return an empty
99
- # hash
99
+ # hash.
100
100
  def getall
101
101
  vlans = config.scan(/(?<=^vlan\s)\d+$/)
102
102
  vlans.each_with_object({}) do |vid, hsh|
@@ -107,13 +107,13 @@ module Rbeapi
107
107
 
108
108
  ##
109
109
  # parse_name scans the provided configuration block and parses the
110
- # vlan name value. The vlan name should always return a value
111
- # from the running configuration. The return value is intended to
112
- # be merged into the resource hash
110
+ # vlan name value. The vlan name should always return a value
111
+ # from the running configuration. The return value is intended to
112
+ # be merged into the resource hash.
113
113
  #
114
114
  # @api private
115
115
  #
116
- # @return [Hash<Symbol, Object>] resource hash attribute
116
+ # @return [Hash<Symbol, Object>] Returns the resource hash attribute.
117
117
  def parse_name(config)
118
118
  mdata = /name ([^\s]+)$/.match(config)
119
119
  { name: mdata[1] }
@@ -123,12 +123,12 @@ module Rbeapi
123
123
  ##
124
124
  # parse_state scans the provided configuration block and parses the
125
125
  # vlan state value. The vlan state should always return a value from
126
- # the nodes running configuration. The return hash is intended to be
127
- # merged into the resource hash
126
+ # the nodes running configuration. The return hash is intended to be
127
+ # merged into the resource hash.
128
128
  #
129
129
  # @api private
130
130
  #
131
- # @return [Hash<Symbol, Object>] resource hash attribute
131
+ # @return [Hash<Symbol, Object>] Returns the resource hash attribute.
132
132
  def parse_state(config)
133
133
  mdata = /state (\w+)$/.match(config)
134
134
  { state: mdata[1] }
@@ -137,15 +137,15 @@ module Rbeapi
137
137
 
138
138
  ##
139
139
  # parse_trunk_groups scans the provided configuration block and parses
140
- # the trunk groups. If no trunk groups are found in the nodes
140
+ # the trunk groups. If no trunk groups are found in the nodes
141
141
  # running configuration then an empty array is returned as the value.
142
142
  # The return hash is intended to be merged into the resource hash.
143
143
  #
144
144
  # @api private
145
145
  #
146
- # @return [Hash<Symbol, Object>] resource hash attribute
146
+ # @return [Hash<Symbol, Object>] Returns the resource hash attribute.
147
147
  def parse_trunk_groups(config)
148
- values = config.scan(/trunk group (.+)$/).first
148
+ values = config.scan(/trunk group (.+)$/).flatten
149
149
  values = [] unless values
150
150
  { trunk_groups: values }
151
151
  end
@@ -153,92 +153,92 @@ module Rbeapi
153
153
 
154
154
  ##
155
155
  # create will create a new vlan resource in the nodes current
156
- # configuration with the specified vlan id. If the create method
156
+ # configuration with the specified vlan id. If the create method
157
157
  # is called and the vlan id already exists, this method will still
158
158
  # return true.
159
159
  #
160
- # @eos_version 4.13.7M
160
+ # @since eos_version 4.13.7M
161
161
  #
162
- # @commands
162
+ # ===Commands
163
163
  # vlan <value>
164
164
  #
165
- # @param [String, Integer] :id The vlan id to create on the node. The
166
- # vlan id must be in the valid range of 1 to 4094
165
+ # @param id [String, Integer] The vlan id to create on the node. The
166
+ # vlan id must be in the valid range of 1 to 4094.
167
167
  #
168
- # @return [Boolean] returns true if the command completed successfully
168
+ # @return [Boolean] Returns true if the command completed successfully.
169
169
  def create(id)
170
170
  configure("vlan #{id}")
171
171
  end
172
172
 
173
173
  ##
174
174
  # delete will delete an existing vlan resource from the nodes current
175
- # running configuration. If the delete method is called and the vlan
175
+ # running configuration. If the delete method is called and the vlan
176
176
  # id does not exist, this method will succeed.
177
177
  #
178
- # @eos_version 4.13.7M
178
+ # @since eos_version 4.13.7M
179
179
  #
180
- # @commands
180
+ # ===Commands
181
181
  # no vlan <value>
182
182
  #
183
- # @param [String, Integer] :id The vlan id to delete from the node. The
184
- # id value should be in the valid range of 1 to 4094
183
+ # @param id [String, Integer] The vlan id to delete from the node. The
184
+ # id value should be in the valid range of 1 to 4094.
185
185
  #
186
- # @return [Boolean] returns true if the command completed successfully
186
+ # @return [Boolean] Returns true if the command completed successfully.
187
187
  def delete(id)
188
188
  configure("no vlan #{id}")
189
189
  end
190
190
 
191
191
  ##
192
- # default will configure the vlan using the default keyword. This
192
+ # default will configure the vlan using the default keyword. This
193
193
  # command has the same effect as deleting the vlan from the nodes
194
194
  # running configuration.
195
195
  #
196
- # @eos_version 4.13.7M
196
+ # @since eos_version 4.13.7M
197
197
  #
198
- # @commands
198
+ # ===Commands
199
199
  # default vlan <value>
200
200
  #
201
- # @param [String, Integer] :id The vlan id to default in the nodes
202
- # configuration. Ths vid value should be in the valid range of 1
203
- # to 4094
201
+ # @param id [String, Integer] The vlan id to default in the nodes
202
+ # configuration. Ths vid value should be in the valid range of 1
203
+ # to 4094.
204
204
  #
205
- # @return [Boolean] returns true if the command complete successfully
205
+ # @return [Boolean] Returns true if the command complete successfully.
206
206
  def default(id)
207
207
  configure("default vlan #{id}")
208
208
  end
209
209
 
210
210
  ##
211
211
  # set_name configures the name value for the specified vlan id in the
212
- # nodes running configuration. If enable is false in the
212
+ # nodes running configuration. If enable is false in the
213
213
  # opts keyword Hash then the name value is negated using the no
214
- # keyword. If the default keyword is set to true, then the name value
215
- # is defaulted using the default keyword. The default keyword takes
216
- # precedence over the enable keyword
214
+ # keyword. If the default keyword is set to true, then the name value
215
+ # is defaulted using the default keyword. The default keyword takes
216
+ # precedence over the enable keyword.
217
217
  #
218
- # @eos_version 4.13.7M
218
+ # @since eos_version 4.13.7M
219
219
  #
220
- # @commands
220
+ # ===Commands
221
221
  # vlan <id>
222
222
  # name <value>
223
223
  # no name
224
224
  # default name
225
225
  #
226
- # @param [String, Integer] :id The vlan id to apply the configuration
227
- # to. The id value should be in the valid range of 1 to 4094
226
+ # @param id [String, Integer] The vlan id to apply the configuration
227
+ # to. The id value should be in the valid range of 1 to 4094.
228
228
  #
229
- # @param [Hash] :opts Optional keyword arguments
229
+ # @param opts [Hash] Optional keyword arguments.
230
230
  #
231
- # @option :opts [String] :value The value to configure the vlan name
232
- # to in the node configuration. The name parameter accepts a-z, 0-9
231
+ # @option opts value [String] The value to configure the vlan name
232
+ # to in the node configuration. The name parameter accepts a-z, 0-9
233
233
  # and _.
234
234
  #
235
- # @option :opts [Boolean] :enable If false then the command is
235
+ # @option opts enable [Boolean] If false then the command is
236
236
  # negated. Default is true.
237
237
  #
238
- # @option :opts [Boolean] :default Configure the vlan name value using
239
- # the default keyword
238
+ # @option opts default [Boolean] Configure the vlan name value using
239
+ # the default keyword.
240
240
  #
241
- # @return [Boolean] returns true if the command completed successfully
241
+ # @return [Boolean] Returns true if the command completed successfully.
242
242
  def set_name(id, opts = {})
243
243
  cmd = command_builder('name', opts)
244
244
  cmds = ["vlan #{id}", cmd]
@@ -247,39 +247,39 @@ module Rbeapi
247
247
 
248
248
  ##
249
249
  # set_state configures the state value for the specified vlan id in
250
- # the nodes running configuration. If enable is set to false in
250
+ # the nodes running configuration. If enable is set to false in
251
251
  # the opts keyword Hash then the state value is negated using the no
252
252
  # keyword. If the default keyword is set to true, then the state
253
- # value is defaulted using the default keyword. The default keyword
253
+ # value is defaulted using the default keyword. The default keyword
254
254
  # takes precedence over the enable keyword
255
255
  #
256
- # @eos_version 4.13.7M
256
+ # @since eos_version 4.13.7M
257
257
  #
258
- # @commands
258
+ # ===Commands
259
259
  # vlan <id>
260
260
  # state [active, suspend]
261
261
  # no state
262
262
  # default state
263
263
  #
264
- # @param [String, Integer] :id The vlan id to apply the configuration
265
- # to. The id value should be in the valid range of 1 to 4094
264
+ # @param id [String, Integer] The vlan id to apply the configuration
265
+ # to. The id value should be in the valid range of 1 to 4094.
266
266
  #
267
- # @param [Hash] :opts Optional keyword arguments
267
+ # @param opts [Hash] Optional keyword arguments.
268
268
  #
269
- # @option :opts [String] :value The value to configure the vlan state
270
- # to in the node's configuration. Accepted values are 'active' or
271
- # 'suspend'
269
+ # @option opts value [String] The value to configure the vlan state
270
+ # to in the node's configuration. Accepted values are 'active' or
271
+ # 'suspend'.
272
272
  #
273
- # @option :opts [Boolean] :enable If false then the command is
273
+ # @option opts enable [Boolean] If false then the command is
274
274
  # negated. Default is true.
275
275
  #
276
- # @option :opts [Boolean] :default Configure the vlan state value using
277
- # the default keyword
276
+ # @option opts default [Boolean] Configure the vlan state value using
277
+ # the default keyword.
278
278
  #
279
- # @return [Boolean] returns true if the command completed successfully
279
+ # @return [Boolean] Returns true if the command completed successfully.
280
280
  #
281
281
  # @raise [ArgumentError] if the value is not in the accept list of
282
- # values
282
+ # values.
283
283
  def set_state(id, opts = {})
284
284
  value = opts[:value]
285
285
  unless ['active', 'suspend', nil].include?(value)
@@ -294,41 +294,41 @@ module Rbeapi
294
294
  ##
295
295
  # add_trunk_group adds a new trunk group value to the specified vlan
296
296
  # id in the nodes running configuration. The trunk group name value
297
- # accepts a-z 0-9 and _
297
+ # accepts a-z 0-9 and _.
298
298
  #
299
- # @version 4.13.7M
299
+ # @since version 4.13.7M
300
300
  #
301
- # @commands
301
+ # ===Commands
302
302
  # vlan <id>
303
303
  # trunk group <value>
304
304
  #
305
- # @param [String, Integer] :id The vlan id to apply the configuration
306
- # to. the id value should be in the range of 1 to 4094
305
+ # @param id [String, Integer] The vlan id to apply the configuration
306
+ # to. the id value should be in the range of 1 to 4094
307
307
  #
308
- # @param [String] :value The value to add to the vlan id configuration
308
+ # @param value [String] The value to add to the vlan id configuration
309
309
  # on the node.
310
310
  #
311
- # @return [Boolean] returns true if the command completed successfully
311
+ # @return [Boolean] Returns true if the command completed successfully.
312
312
  def add_trunk_group(id, value)
313
313
  configure(["vlan #{id}", "trunk group #{value}"])
314
314
  end
315
315
 
316
316
  ##
317
317
  # remove_trunk_group removes the specified trunk group value from the
318
- # specified vlan id in the node's configuration. If the trunk group
318
+ # specified vlan id in the node's configuration. If the trunk group
319
319
  # name does not exist, this method will return success
320
320
  #
321
- # @eos_version 4.13.7M
321
+ # @since eos_version 4.13.7M
322
322
  #
323
- # @commands
323
+ # ===Commands
324
324
  # vlan <id>
325
325
  # no trunk group <value>
326
326
  #
327
- # @param [String, Integer] :id The vlan id to apply the configuration
328
- # to. the id value should be in the range of 1 to 4094
327
+ # @param id [String, Integer] The vlan id to apply the configuration
328
+ # to. the id value should be in the range of 1 to 4094.
329
329
  #
330
- # @param [String] :value The value to remove from the list of trunk
331
- # group names configured for the specified vlan
330
+ # @param value [String] The value to remove from the list of trunk
331
+ # group names configured for the specified vlan.
332
332
  #
333
333
  def remove_trunk_group(id, value)
334
334
  configure(["vlan #{id}", "no trunk group #{value}"])