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.
- 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')
|