rbeapi 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -1
- data/README.md +17 -12
- data/guide/.gitignore +2 -0
- data/guide/api.rst +5894 -0
- data/guide/conf.py +5 -5
- data/guide/contributing.rst +6 -0
- data/guide/getting-started.rst +134 -0
- data/guide/index.rst +3 -5
- data/guide/installation.rst +56 -1
- data/guide/license.rst +13 -2
- data/guide/overview.rst +2 -5
- data/guide/testing.rst +5 -1
- data/guide/upgrading.rst +10 -0
- data/lib/rbeapi/api.rb +37 -36
- data/lib/rbeapi/api/aaa.rb +90 -90
- data/lib/rbeapi/api/acl.rb +70 -53
- data/lib/rbeapi/api/bgp.rb +186 -163
- data/lib/rbeapi/api/dns.rb +51 -45
- data/lib/rbeapi/api/interfaces.rb +344 -328
- data/lib/rbeapi/api/ipinterfaces.rb +92 -92
- data/lib/rbeapi/api/logging.rb +32 -32
- data/lib/rbeapi/api/mlag.rb +97 -97
- data/lib/rbeapi/api/ntp.rb +39 -39
- data/lib/rbeapi/api/ospf.rb +58 -58
- data/lib/rbeapi/api/prefixlists.rb +22 -22
- data/lib/rbeapi/api/radius.rb +77 -49
- data/lib/rbeapi/api/routemaps.rb +110 -64
- data/lib/rbeapi/api/snmp.rb +104 -100
- data/lib/rbeapi/api/staticroutes.rb +27 -20
- data/lib/rbeapi/api/stp.rb +100 -84
- data/lib/rbeapi/api/switchports.rb +98 -77
- data/lib/rbeapi/api/system.rb +93 -25
- data/lib/rbeapi/api/tacacs.rb +54 -35
- data/lib/rbeapi/api/users.rb +68 -68
- data/lib/rbeapi/api/varp.rb +56 -47
- data/lib/rbeapi/api/vlans.rb +86 -86
- data/lib/rbeapi/api/vrrp.rb +210 -173
- data/lib/rbeapi/client.rb +142 -108
- data/lib/rbeapi/eapilib.rb +73 -62
- data/lib/rbeapi/utils.rb +8 -8
- data/lib/rbeapi/version.rb +2 -2
- data/spec/fixtures/test.conf +3 -3
- data/spec/system/rbeapi/api/system_spec.rb +46 -2
- data/spec/system/rbeapi/api/vlans_spec.rb +5 -2
- data/spec/system/rbeapi/client_spec.rb +4 -4
- data/spec/unit/rbeapi/api/system/default_spec.rb +40 -4
- data/spec/unit/rbeapi/api/system/fixture_system.text +14 -0
- data/spec/unit/rbeapi/api/vlans/default_spec.rb +1 -1
- data/spec/unit/rbeapi/api/vlans/fixture_vlans.text +2 -0
- data/spec/unit/rbeapi/client_spec.rb +1 -0
- metadata +9 -9
- data/guide/cookbook.rst +0 -4
- data/guide/developing.rst +0 -4
- data/guide/faq.rst +0 -4
- data/guide/quickstart.rst +0 -4
- data/guide/troubleshooting.rst +0 -1
data/lib/rbeapi/client.rb
CHANGED
@@ -50,12 +50,12 @@ module Rbeapi
|
|
50
50
|
'socket' => 'Rbeapi::Eapilib::SocketEapiConnection' }
|
51
51
|
|
52
52
|
##
|
53
|
-
# Returns the currently loaded config object.
|
53
|
+
# Returns the currently loaded config object. This function will
|
54
54
|
# create a new instance of the config object if one doesn't already
|
55
|
-
# exist
|
55
|
+
# exist.
|
56
56
|
#
|
57
57
|
# @return [Config] Returns an instance of Config used for working
|
58
|
-
# with the eapi.conf file
|
58
|
+
# with the eapi.conf file.
|
59
59
|
def config
|
60
60
|
return @config if @config
|
61
61
|
@config = Config.new
|
@@ -64,11 +64,11 @@ module Rbeapi
|
|
64
64
|
|
65
65
|
##
|
66
66
|
# load_config overrides the default conf file loaded in the config
|
67
|
-
# instances using the supplied conf argument as the conf file.
|
67
|
+
# instances using the supplied conf argument as the conf file. This
|
68
68
|
# method will clear out an previously loaded configuration and replace
|
69
69
|
# all entries with the contents of the supplied file.
|
70
70
|
#
|
71
|
-
# @param [String]
|
71
|
+
# @param conf [String] The full path to the conf file to load into
|
72
72
|
# the config instance.
|
73
73
|
def load_config(conf)
|
74
74
|
config.read(conf)
|
@@ -76,15 +76,15 @@ module Rbeapi
|
|
76
76
|
|
77
77
|
##
|
78
78
|
# Returns the configuration options for the named connection from
|
79
|
-
# the loaded configuration.
|
79
|
+
# the loaded configuration. The configuration name is specified as
|
80
80
|
# the string right of the colon in the section name.
|
81
81
|
#
|
82
|
-
# @param [String]
|
83
|
-
# configuration
|
82
|
+
# @param name [String] The connection name to return from the loaded
|
83
|
+
# configuration.
|
84
84
|
#
|
85
85
|
# @return [Hash, nil] This method will return the configuration hash for
|
86
|
-
# the named configuration if found.
|
87
|
-
# nil is returned
|
86
|
+
# the named configuration if found. If the name is not found, then
|
87
|
+
# nil is returned.
|
88
88
|
def config_for(name)
|
89
89
|
config.get_connection(name)
|
90
90
|
end
|
@@ -93,11 +93,11 @@ module Rbeapi
|
|
93
93
|
# Retrieves the node config from the loaded configuration file and
|
94
94
|
# returns a Rbeapi::Node instance for working with the remote node.
|
95
95
|
#
|
96
|
-
# @param [String]
|
97
|
-
# connection to the remote node
|
96
|
+
# @param name [String] The named configuration to use for creating the
|
97
|
+
# connection to the remote node.
|
98
98
|
#
|
99
|
-
# @return [Rbeapi::Node, nil] Returns an instance of Rbeapi::Node.
|
100
|
-
# the named configuration is not found then nil is returned
|
99
|
+
# @return [Rbeapi::Node, nil] Returns an instance of Rbeapi::Node. If
|
100
|
+
# the named configuration is not found then nil is returned.
|
101
101
|
def connect_to(name)
|
102
102
|
config_entry = config_for(name)
|
103
103
|
return nil unless config_entry
|
@@ -114,26 +114,32 @@ module Rbeapi
|
|
114
114
|
|
115
115
|
##
|
116
116
|
# Builds a connection object to a remote node using the specified
|
117
|
-
# options and return an instance of Rbeapi::Connection.
|
117
|
+
# options and return an instance of Rbeapi::Connection. All
|
118
118
|
# configuration options can be passed via the :opts param.
|
119
119
|
#
|
120
|
-
# @param [Hash]
|
121
|
-
#
|
122
|
-
#
|
123
|
-
#
|
124
|
-
#
|
125
|
-
# @option
|
126
|
-
# the eAPI connection with
|
127
|
-
#
|
128
|
-
#
|
129
|
-
#
|
130
|
-
#
|
131
|
-
# @option
|
120
|
+
# @param opts [Hash] the options to create a message with.
|
121
|
+
#
|
122
|
+
# @option opts host [String] The IP address or hostname of the remote
|
123
|
+
# eAPI endpoint.
|
124
|
+
#
|
125
|
+
# @option opts username [String] The username to use to authenticate
|
126
|
+
# the eAPI connection with.
|
127
|
+
#
|
128
|
+
# @option opts password [String] The password to use to authenticate
|
129
|
+
# the eAPI connection with.
|
130
|
+
#
|
131
|
+
# @option opts enablepwd [String] The enable password (if defined) to
|
132
|
+
# pass to the remote node to enter privilege mode.
|
133
|
+
#
|
134
|
+
# @option opts use_ssl [String] Specifies whether or not to use the
|
135
|
+
# HTTP or HTTPS protocol.
|
136
|
+
#
|
137
|
+
# @option opts port [String] The port to connect to. If not specified
|
132
138
|
# The port is automatically determined based on the protocol used
|
133
|
-
# (443 for https, 80 for http)
|
139
|
+
# (443 for https, 80 for http).
|
134
140
|
#
|
135
141
|
# @return [Rbeapi::Connection] Returns an instance of Rbeapi::Connection
|
136
|
-
# using the specified configuration options
|
142
|
+
# using the specified configuration options.
|
137
143
|
def connect(opts = {})
|
138
144
|
transport = opts.fetch(:transport, DEFAULT_TRANSPORT)
|
139
145
|
make_connection(transport, opts)
|
@@ -143,10 +149,11 @@ module Rbeapi
|
|
143
149
|
# Creates a connection instance that can either be used directly or
|
144
150
|
# passed to a Node instance.
|
145
151
|
#
|
146
|
-
# @
|
147
|
-
# @params [Hash] :opts The options used to create the transport
|
152
|
+
# @param transport [String] The name of the transport to create.
|
148
153
|
#
|
149
|
-
# @
|
154
|
+
# @param opts [Hash] The options used to create the transport.
|
155
|
+
#
|
156
|
+
# @return [Rbeapi::EapiConnection] A instance of a connection object.
|
150
157
|
def make_connection(transport, opts = {})
|
151
158
|
klass = TRANSPORTS.fetch(transport)
|
152
159
|
cls = Rbeapi::Utils.class_from_string(klass)
|
@@ -155,7 +162,7 @@ module Rbeapi
|
|
155
162
|
end
|
156
163
|
|
157
164
|
##
|
158
|
-
# The Config class holds the loaded configuration file data.
|
165
|
+
# The Config class holds the loaded configuration file data. It is a
|
159
166
|
# subclass of IniFile.
|
160
167
|
class Config < IniFile
|
161
168
|
CONFIG_SEARCH_PATH = ['/mnt/flash/eapi.conf']
|
@@ -164,7 +171,9 @@ module Rbeapi
|
|
164
171
|
# The Config class will automatically search for a filename to load
|
165
172
|
# (if none provided) and load the data when the object is instantiated.
|
166
173
|
#
|
167
|
-
# @param [
|
174
|
+
# @param opts [Hash] The initialization parameters.
|
175
|
+
#
|
176
|
+
# @option opts filename [String] The full path to the filename to load. If
|
168
177
|
# the filename is not provided, then this class will attempt to find
|
169
178
|
# a valid conf file using the CONFIG_SEARCH_PATH.
|
170
179
|
def initialize(opts = {})
|
@@ -175,13 +184,14 @@ module Rbeapi
|
|
175
184
|
|
176
185
|
##
|
177
186
|
# This private method automatically finds and loads the conf file
|
178
|
-
# into the instance using the class variable CONFIG_SEARCH_PATH.
|
179
|
-
# connections should be retrieved using the get_connection method
|
187
|
+
# into the instance using the class variable CONFIG_SEARCH_PATH. The
|
188
|
+
# connections should be retrieved using the get_connection method.
|
180
189
|
#
|
181
|
-
# @param [Hash]
|
182
|
-
#
|
183
|
-
#
|
184
|
-
#
|
190
|
+
# @param opts [Hash] The options for specifying the message.
|
191
|
+
#
|
192
|
+
# @option opts filename [String] The full path to the filename
|
193
|
+
# to load. Using this option eliminates the use of the
|
194
|
+
# search path.
|
185
195
|
def autoload(opts = {})
|
186
196
|
search_path = CONFIG_SEARCH_PATH.dup
|
187
197
|
# Add the home directory path if the HOME environement var is defined.
|
@@ -202,10 +212,10 @@ module Rbeapi
|
|
202
212
|
|
203
213
|
##
|
204
214
|
# This method will read the specified filename and load its contents
|
205
|
-
# into the instance.
|
206
|
-
# if it doesn't exist in the conf file
|
215
|
+
# into the instance. It will also add the default localhost entry
|
216
|
+
# if it doesn't exist in the conf file.
|
207
217
|
#
|
208
|
-
# @param [String]
|
218
|
+
# @param filename [String] The full path to the filename to load.
|
209
219
|
def read(filename)
|
210
220
|
begin
|
211
221
|
super(filename: filename)
|
@@ -215,12 +225,15 @@ module Rbeapi
|
|
215
225
|
end
|
216
226
|
|
217
227
|
# For each section, if the host parameter is omitted then the
|
218
|
-
# connection name is used
|
228
|
+
# connection name is used.
|
229
|
+
has_default = self.has_section?('DEFAULT')
|
219
230
|
sections.each do |name|
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
231
|
+
next unless name.start_with?('connection:')
|
232
|
+
conn = self["#{name}"]
|
233
|
+
conn['host'] = name.split(':')[1] unless conn['host']
|
234
|
+
|
235
|
+
# Merge in the default values into the connections
|
236
|
+
conn.merge!(self['DEFAULT']) { |_key, v1, _v2| v1 } if has_default
|
224
237
|
end
|
225
238
|
|
226
239
|
return if get_connection 'localhost'
|
@@ -228,13 +241,14 @@ module Rbeapi
|
|
228
241
|
end
|
229
242
|
|
230
243
|
##
|
231
|
-
# This method will cause the config to be loaded.
|
244
|
+
# This method will cause the config to be loaded. The process of
|
232
245
|
# finding the configuration will be repeated so it is possible a
|
233
246
|
# different conf file could be chosen if the original file was
|
234
|
-
# removed or a new file added higher on the search priority list
|
247
|
+
# removed or a new file added higher on the search priority list.
|
248
|
+
#
|
249
|
+
# @param opts [Hash] The options for specifying the message.
|
235
250
|
#
|
236
|
-
# @
|
237
|
-
# @opton :opts [String] :filename The full path to the file to load
|
251
|
+
# @option opts filename [String] The full path to the file to load.
|
238
252
|
def reload(opts = {})
|
239
253
|
autoload opts
|
240
254
|
end
|
@@ -244,12 +258,12 @@ module Rbeapi
|
|
244
258
|
# connection is not found matching the name and if a default
|
245
259
|
# connection has been specified then return the default connection.
|
246
260
|
#
|
247
|
-
# @param [String]
|
248
|
-
# the configuration.
|
249
|
-
# in the config section header
|
261
|
+
# @param name [String] The name of the connection to return from
|
262
|
+
# the configuration. This should be the string right of the :
|
263
|
+
# in the config section header.
|
250
264
|
#
|
251
265
|
# @return [nil, Hash<String, String> Returns a hash of the connection
|
252
|
-
# properties from the loaded config.
|
266
|
+
# properties from the loaded config. This method will return nil
|
253
267
|
# if the connection name is not found.
|
254
268
|
def get_connection(name)
|
255
269
|
return self["connection:#{name}"] \
|
@@ -259,11 +273,12 @@ module Rbeapi
|
|
259
273
|
end
|
260
274
|
|
261
275
|
##
|
262
|
-
# Adds a new connection section to the current configuration
|
276
|
+
# Adds a new connection section to the current configuration.
|
263
277
|
#
|
264
|
-
# @param [String]
|
278
|
+
# @param name [String] The name of the connection to add to the
|
265
279
|
# configuration.
|
266
|
-
#
|
280
|
+
#
|
281
|
+
# @param values [Hash] The properties for the connection.
|
267
282
|
def add_connection(name, values)
|
268
283
|
self["connection:#{name}"] = values
|
269
284
|
nil
|
@@ -273,7 +288,7 @@ module Rbeapi
|
|
273
288
|
##
|
274
289
|
# The Node object provides an instance for sending and receiving messages
|
275
290
|
# with a specific EOS device. The methods provided in this class allow
|
276
|
-
# for handling both enable mode and config mode commands
|
291
|
+
# for handling both enable mode and config mode commands.
|
277
292
|
class Node
|
278
293
|
attr_reader :connection
|
279
294
|
attr_accessor :dry_run
|
@@ -281,7 +296,7 @@ module Rbeapi
|
|
281
296
|
##
|
282
297
|
# Save the connection and set autorefresh to true.
|
283
298
|
#
|
284
|
-
# @param [Rbeapi::Eapilib::EapiConnection]
|
299
|
+
# @param connection [Rbeapi::Eapilib::EapiConnection] An instance of
|
285
300
|
# EapiConnection used to send and receive eAPI formatted messages
|
286
301
|
def initialize(connection)
|
287
302
|
@connection = connection
|
@@ -291,52 +306,58 @@ module Rbeapi
|
|
291
306
|
|
292
307
|
##
|
293
308
|
# Provides access the nodes running-configuration. This is a lazily
|
294
|
-
# loaded memoized property for working with the node configuration
|
309
|
+
# loaded memoized property for working with the node configuration.
|
295
310
|
#
|
296
|
-
# @return [String] The node's running-config as a string
|
311
|
+
# @return [String] The node's running-config as a string.
|
297
312
|
def running_config
|
298
313
|
return @running_config if @running_config
|
299
314
|
@running_config = get_config(params: 'all', as_string: true)
|
300
315
|
end
|
301
316
|
|
302
317
|
##
|
303
|
-
# Provides access to the nodes startup-configuration.
|
304
|
-
# loaded memoized property for working with the nodes startup config
|
318
|
+
# Provides access to the nodes startup-configuration. This is a lazily
|
319
|
+
# loaded memoized property for working with the nodes startup config.
|
305
320
|
#
|
306
|
-
# @return [String] The node's startup-config as a string
|
321
|
+
# @return [String] The node's startup-config as a string.
|
307
322
|
def startup_config
|
308
323
|
return @startup_config if @startup_config
|
309
324
|
@startup_config = get_config(config: 'startup-config', as_string: true)
|
310
325
|
end
|
311
326
|
|
312
327
|
##
|
313
|
-
# Configures the node instance to use an enable password.
|
328
|
+
# Configures the node instance to use an enable password. EOS can be
|
314
329
|
# configured to require a second layer of authentication when putting
|
315
|
-
# the session into enable mode.
|
330
|
+
# the session into enable mode. The password supplied will be used to
|
316
331
|
# authenticate the session to enable mode if necessary.
|
317
332
|
#
|
318
|
-
# @param [String]
|
333
|
+
# @param password [String] The value of the enable password.
|
319
334
|
def enable_authentication(password)
|
320
335
|
@enablepwd = password
|
321
336
|
end
|
322
337
|
|
323
338
|
##
|
324
339
|
# The config method is a convenience method that will handling putting
|
325
|
-
# the switch into config mode prior to executing commands.
|
340
|
+
# the switch into config mode prior to executing commands. The method
|
326
341
|
# will insert 'config' at the top of the command stack and then pop
|
327
342
|
# the empty hash from the response output before return the array
|
328
|
-
# to the caller
|
343
|
+
# to the caller.
|
329
344
|
#
|
330
|
-
# @param [Array<String>]
|
331
|
-
#
|
332
|
-
#
|
333
|
-
#
|
334
|
-
#
|
345
|
+
# @param commands [Array<String, Hash>] An ordered list of commands to
|
346
|
+
# execute. A string in the list is an eapi command. A Hash entry in the
|
347
|
+
# array consists of the following key value pairs:
|
348
|
+
# { cmd: 'eapi command', input: 'text passed into stdin for command' }
|
349
|
+
#
|
350
|
+
# @option opts encoding [String] The encoding scheme to use for sending
|
351
|
+
# and receive eAPI messages. Valid values are json and text. The
|
352
|
+
# default value is json.
|
353
|
+
#
|
354
|
+
# @option opts open_timeout [Float] Number of seconds to wait for the
|
335
355
|
# eAPI connection to open.
|
336
|
-
#
|
356
|
+
#
|
357
|
+
# @option opts read_timeout [Float] Number of seconds to wait for one
|
337
358
|
# block of eAPI results to be read (via one read(2) call).
|
338
359
|
#
|
339
|
-
# @return [Array<Hash>]
|
360
|
+
# @return [Array<Hash>] Ordered list of output from commands.
|
340
361
|
def config(commands, opts = {})
|
341
362
|
commands = [*commands] unless commands.respond_to?('each')
|
342
363
|
|
@@ -361,16 +382,22 @@ module Rbeapi
|
|
361
382
|
#
|
362
383
|
# rubocop:disable Metrics/MethodLength
|
363
384
|
#
|
364
|
-
# @param [Array<String>]
|
365
|
-
#
|
366
|
-
#
|
367
|
-
#
|
368
|
-
#
|
385
|
+
# @param commands [Array<String, Hash>] An ordered list of commands to
|
386
|
+
# execute. A string in the list is an eapi command. A Hash entry in the
|
387
|
+
# array consists of the following key value pairs:
|
388
|
+
# { cmd: 'eapi command', input: 'text passed into stdin for command' }
|
389
|
+
#
|
390
|
+
# @option opts encoding [String] The encoding scheme to use for sending
|
391
|
+
# and receive eAPI messages. Valid values are json and text. The
|
392
|
+
# default value is json.
|
393
|
+
#
|
394
|
+
# @option opts open_timeout [Float] Number of seconds to wait for the
|
369
395
|
# eAPI connection to open.
|
370
|
-
#
|
396
|
+
#
|
397
|
+
# @option opts read_timeout [Float] Number of seconds to wait for one
|
371
398
|
# block of eAPI results to be read (via one read(2) call).
|
372
399
|
#
|
373
|
-
# @return [Array<Hash>]
|
400
|
+
# @return [Array<Hash>] Ordered list of output from commands.
|
374
401
|
def enable(commands, opts = {})
|
375
402
|
commands = [*commands] unless commands.respond_to?('each')
|
376
403
|
|
@@ -401,16 +428,18 @@ module Rbeapi
|
|
401
428
|
end
|
402
429
|
|
403
430
|
##
|
404
|
-
# Returns a response object from a call to the enable method.
|
431
|
+
# Returns a response object from a call to the enable method. This
|
405
432
|
# private method is an internal method to ensure consistency in the
|
406
|
-
# return message format
|
433
|
+
# return message format.
|
434
|
+
#
|
435
|
+
# @param command [String] The command send to the node.
|
407
436
|
#
|
408
|
-
# @param [
|
409
|
-
# @param [Hash] :response The response returned from the eAPI call
|
410
|
-
# @param [String] :encoding The encoding scheme used in the response
|
411
|
-
# which should be either json or text
|
437
|
+
# @param result [Hash] The response returned from the eAPI call.
|
412
438
|
#
|
413
|
-
# @
|
439
|
+
# @param encoding [String] The encoding scheme used in the response
|
440
|
+
# which should be either json or text.
|
441
|
+
#
|
442
|
+
# @return [Hash] A Ruby hash object.
|
414
443
|
def make_response(command, result, encoding)
|
415
444
|
{ command: command, result: result, encoding: encoding }
|
416
445
|
end
|
@@ -418,17 +447,20 @@ module Rbeapi
|
|
418
447
|
|
419
448
|
##
|
420
449
|
# This method will send the ordered list of commands to the destination
|
421
|
-
# node using the transport.
|
422
|
-
# onto the command stack and popping the enable result on the response
|
450
|
+
# node using the transport. It is also response for inserting enable
|
451
|
+
# onto the command stack and popping the enable result on the response.
|
423
452
|
#
|
424
|
-
# @param [Array]
|
453
|
+
# @param commands [Array] The ordered list of commands to send to the
|
425
454
|
# destination node.
|
426
|
-
#
|
427
|
-
#
|
428
|
-
#
|
429
|
-
#
|
455
|
+
#
|
456
|
+
# @option opts encoding [String] The encoding scheme to use for
|
457
|
+
# sending and receive eAPI requests. This argument is optional.
|
458
|
+
# Valid values include json or text. The default is json.
|
459
|
+
#
|
460
|
+
# @option opts open_timeout [Float] Number of seconds to wait for the
|
430
461
|
# eAPI connection to open.
|
431
|
-
#
|
462
|
+
#
|
463
|
+
# @option opts read_timeout [Float] Number of seconds to wait for one
|
432
464
|
# block of eAPI results to be read (via one read(2) call).
|
433
465
|
def run_commands(commands, opts = {})
|
434
466
|
encoding = opts.fetch(:encoding, 'json')
|
@@ -452,12 +484,14 @@ module Rbeapi
|
|
452
484
|
# and return it in full text.
|
453
485
|
#
|
454
486
|
# @param [Hash] opts the options to create a message with
|
455
|
-
#
|
456
|
-
#
|
457
|
-
#
|
458
|
-
#
|
459
|
-
#
|
460
|
-
#
|
487
|
+
#
|
488
|
+
# @option opts config [String] The configuration instance to return from
|
489
|
+
# the node. Valid values are 'running-config' and 'startup-config'. If
|
490
|
+
# no value is specified, then 'running-config' is used.
|
491
|
+
#
|
492
|
+
# @option opts param [String] Additional parameters to append to the
|
493
|
+
# retrieving the configuration. Valid values depend on the config
|
494
|
+
# file requested.
|
461
495
|
#
|
462
496
|
# running-config params
|
463
497
|
# all Configuration with defaults
|
@@ -472,7 +506,7 @@ module Rbeapi
|
|
472
506
|
# interfaces Filter config to include only the given interfaces
|
473
507
|
# section Display sections containing matching commands
|
474
508
|
#
|
475
|
-
# @return [String]
|
509
|
+
# @return [String] The specified configuration as text.
|
476
510
|
def get_config(opts = {})
|
477
511
|
config = opts.fetch(:config, 'running-config')
|
478
512
|
params = opts.fetch(:params, '')
|
@@ -484,7 +518,7 @@ module Rbeapi
|
|
484
518
|
|
485
519
|
##
|
486
520
|
# Returns an API module for working with the active configuration
|
487
|
-
# of the node
|
521
|
+
# of the node.
|
488
522
|
def api(name, opts = {})
|
489
523
|
path = opts.fetch(:path, 'rbeapi/api')
|
490
524
|
namespace = opts.fetch(:namespace, 'Rbeapi::Api')
|