rbeapi 0.4.0 → 0.5.0
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/.gitignore +3 -0
- data/CHANGELOG.md +20 -0
- data/Gemfile +1 -1
- data/README.md +11 -11
- data/Rakefile +19 -0
- data/guide/Makefile +177 -0
- data/guide/_static/arista_logo_11-trans-w.png +0 -0
- data/guide/_static/arista_logo_jpg-11.jpg +0 -0
- data/guide/_static/favicon.ico +0 -0
- data/guide/conf.py +279 -0
- data/guide/cookbook.rst +4 -0
- data/guide/developing.rst +4 -0
- data/guide/faq.rst +4 -0
- data/guide/index.rst +23 -0
- data/guide/installation.rst +4 -0
- data/guide/license.rst +5 -0
- data/guide/overview.rst +20 -0
- data/guide/quickstart.rst +4 -0
- data/guide/release-notes-0.5.0.rst +60 -0
- data/guide/release-notes.rst +6 -0
- data/guide/testing.rst +4 -0
- data/guide/troubleshooting.rst +1 -0
- data/lib/rbeapi/api/aaa.rb +54 -18
- data/lib/rbeapi/api/acl.rb +60 -2
- data/lib/rbeapi/api/bgp.rb +81 -0
- data/lib/rbeapi/api/dns.rb +48 -2
- data/lib/rbeapi/api/interfaces.rb +97 -32
- data/lib/rbeapi/api/ipinterfaces.rb +13 -2
- data/lib/rbeapi/api/logging.rb +11 -2
- data/lib/rbeapi/api/mlag.rb +20 -10
- data/lib/rbeapi/api/ntp.rb +4 -3
- data/lib/rbeapi/api/ospf.rb +102 -10
- data/lib/rbeapi/api/prefixlists.rb +47 -4
- data/lib/rbeapi/api/radius.rb +9 -9
- data/lib/rbeapi/api/routemaps.rb +7 -5
- data/lib/rbeapi/api/snmp.rb +13 -4
- data/lib/rbeapi/api/staticroutes.rb +1 -1
- data/lib/rbeapi/api/stp.rb +39 -14
- data/lib/rbeapi/api/switchports.rb +126 -2
- data/lib/rbeapi/api/system.rb +24 -3
- data/lib/rbeapi/api/tacacs.rb +9 -10
- data/lib/rbeapi/api/users.rb +12 -3
- data/lib/rbeapi/api/varp.rb +40 -8
- data/lib/rbeapi/api/vlans.rb +15 -5
- data/lib/rbeapi/client.rb +19 -11
- data/lib/rbeapi/eapilib.rb +8 -0
- data/lib/rbeapi/utils.rb +10 -0
- data/lib/rbeapi/version.rb +1 -1
- data/spec/fixtures/eapi.conf.yaml +6 -0
- data/spec/fixtures/empty.conf +0 -0
- data/spec/fixtures/env_path.conf +5 -0
- data/spec/fixtures/test.conf +39 -0
- data/spec/fixtures/wildcard.conf +43 -0
- data/spec/system/rbeapi/api/aaa_groups_spec.rb +122 -0
- data/spec/system/rbeapi/api/aaa_spec.rb +90 -0
- data/spec/system/{api_acl_spec.rb → rbeapi/api/acl_spec.rb} +0 -0
- data/spec/system/rbeapi/api/bgp_neighbors_spec.rb +354 -0
- data/spec/system/rbeapi/api/bgp_spec.rb +275 -0
- data/spec/system/rbeapi/api/dns_spec.rb +17 -1
- data/spec/system/rbeapi/api/interfaces_base_spec.rb +46 -5
- data/spec/system/rbeapi/api/interfaces_ethernet_spec.rb +14 -0
- data/spec/system/rbeapi/api/interfaces_portchannel_spec.rb +68 -0
- data/spec/system/rbeapi/api/interfaces_vxlan_spec.rb +0 -1
- data/spec/system/{api_ospf_interfaces_spec.rb → rbeapi/api/ospf_interfaces_spec.rb} +3 -2
- data/spec/system/{api_ospf_spec.rb → rbeapi/api/ospf_spec.rb} +11 -2
- data/spec/system/rbeapi/api/routemaps_spec.rb +3 -4
- data/spec/system/rbeapi/api/snmp_spec.rb +65 -0
- data/spec/system/rbeapi/api/staticroutes_spec.rb +177 -0
- data/spec/system/rbeapi/api/stp_instances_spec.rb +20 -0
- data/spec/system/rbeapi/api/stp_interfaces_spec.rb +7 -0
- data/spec/system/rbeapi/api/switchports_spec.rb +86 -16
- data/spec/system/rbeapi/api/users_spec.rb +324 -0
- data/spec/system/rbeapi/api/varp_interfaces_spec.rb +34 -0
- data/spec/system/rbeapi/api/vrrp_spec.rb +707 -0
- data/spec/system/rbeapi/client_spec.rb +367 -0
- data/spec/unit/rbeapi/api/aaa/aaa_groups_spec.rb +111 -0
- data/spec/unit/rbeapi/api/aaa/aaa_spec.rb +77 -0
- data/spec/unit/rbeapi/api/aaa/fixture_aaa.text +3 -0
- data/spec/unit/rbeapi/api/switchports/default_spec.rb +249 -0
- data/spec/unit/rbeapi/api/switchports/fixture_switchports.text +284 -0
- data/spec/unit/rbeapi/api/users/default_spec.rb +1 -1
- data/spec/unit/rbeapi/client_spec.rb +211 -0
- metadata +65 -10
data/lib/rbeapi/api/ospf.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
#
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# The Ospf class is a global class that provides an instance for working
|
@@ -48,13 +48,15 @@ module Rbeapi
|
|
48
48
|
#
|
49
49
|
# @example
|
50
50
|
# {
|
51
|
-
#
|
52
|
-
#
|
51
|
+
# router_id: <string>
|
52
|
+
# areas: {
|
53
53
|
# <string>: array<string>
|
54
54
|
# },
|
55
|
-
#
|
55
|
+
# redistribute: {}
|
56
56
|
# }
|
57
57
|
#
|
58
|
+
# @param [String] :inst The ospf instance name
|
59
|
+
#
|
58
60
|
# @return [Hash] A Ruby hash object that provides the OSPF settings as
|
59
61
|
# key / value pairs.
|
60
62
|
def get(inst)
|
@@ -90,9 +92,16 @@ module Rbeapi
|
|
90
92
|
#
|
91
93
|
# @example
|
92
94
|
# {
|
93
|
-
# <pid>: {
|
94
|
-
#
|
95
|
+
# <pid>: {
|
96
|
+
# router_id: <string>,
|
97
|
+
# areas: {},
|
98
|
+
# redistribute: {}
|
99
|
+
# },
|
100
|
+
# interfaces: {}
|
95
101
|
# }
|
102
|
+
#
|
103
|
+
# @return [Hash] A Ruby hash object that provides the OSPF settings as
|
104
|
+
# key / value pairs.
|
96
105
|
def getall
|
97
106
|
instances = config.scan(/(?<=^router\sospf\s)\d+$/)
|
98
107
|
response = instances.each_with_object({}) do |inst, hsh|
|
@@ -108,28 +117,91 @@ module Rbeapi
|
|
108
117
|
@interfaces
|
109
118
|
end
|
110
119
|
|
120
|
+
##
|
121
|
+
# create will create a router ospf with the specified pid
|
122
|
+
#
|
123
|
+
# @param [String] :pid The router ospf to create
|
124
|
+
#
|
125
|
+
# @return [Boolean] returns true if the command completed successfully
|
111
126
|
def create(pid)
|
112
127
|
configure "router ospf #{pid}"
|
113
128
|
end
|
114
129
|
|
130
|
+
##
|
131
|
+
# delete will remove the specified router ospf
|
132
|
+
#
|
133
|
+
# @param [String] :pid The router ospf to remove
|
134
|
+
#
|
135
|
+
# @return [Boolean] returns true if the command completed successfully
|
115
136
|
def delete(pid)
|
116
137
|
configure "no router ospf #{pid}"
|
117
138
|
end
|
118
139
|
|
140
|
+
##
|
141
|
+
# set_router_id sets router ospf router-id with pid and options
|
142
|
+
#
|
143
|
+
# @param [String] :pid The router ospf name
|
144
|
+
#
|
145
|
+
# @param [hash] :opts Optional keyword arguments
|
146
|
+
#
|
147
|
+
# @option :opts [Boolean] :enable If false then the command is
|
148
|
+
# negated. Default is true.
|
149
|
+
#
|
150
|
+
# @option :opts [Boolean] :default Configure the router-id to default.
|
151
|
+
#
|
152
|
+
# @return [Boolean] returns true if the command completed successfully
|
119
153
|
def set_router_id(pid, opts = {})
|
120
154
|
cmd = command_builder('router-id', opts)
|
121
155
|
cmds = ["router ospf #{pid}", cmd]
|
122
156
|
configure cmds
|
123
157
|
end
|
124
158
|
|
159
|
+
##
|
160
|
+
# add_network adds network settings for router ospf and network area.
|
161
|
+
#
|
162
|
+
# @param [String] :pid The pid for router ospf
|
163
|
+
#
|
164
|
+
# @param [String] :net The network name
|
165
|
+
#
|
166
|
+
# @param [String] :area The network area name
|
167
|
+
#
|
168
|
+
# @return [Boolean] returns true if the command completed successfully
|
125
169
|
def add_network(pid, net, area)
|
126
170
|
configure ["router ospf #{pid}", "network #{net} area #{area}"]
|
127
171
|
end
|
128
172
|
|
173
|
+
##
|
174
|
+
# remove_network removes network settings for router ospf and network
|
175
|
+
# area.
|
176
|
+
#
|
177
|
+
# @param [String] :pid The pid for router ospf
|
178
|
+
#
|
179
|
+
# @param [String] :net The network name
|
180
|
+
#
|
181
|
+
# @param [String] :area The network area name
|
182
|
+
#
|
183
|
+
# @return [Boolean] returns true if the command completed successfully
|
129
184
|
def remove_network(pid, net, area)
|
130
185
|
configure ["router ospf #{pid}", "no network #{net} area #{area}"]
|
131
186
|
end
|
132
187
|
|
188
|
+
##
|
189
|
+
# set_redistribute sets router ospf router-id with pid and options
|
190
|
+
#
|
191
|
+
# @param [String] :pid The router ospf name
|
192
|
+
#
|
193
|
+
# @param [String] :proto The redistribute value
|
194
|
+
#
|
195
|
+
# @param [hash] :opts Optional keyword arguments
|
196
|
+
#
|
197
|
+
# @option :opts [String] :routemap The route-map value
|
198
|
+
#
|
199
|
+
# @option :opts [Boolean] :enable If false then the command is
|
200
|
+
# negated. Default is true.
|
201
|
+
#
|
202
|
+
# @option :opts [Boolean] :default Configure the router-id to default.
|
203
|
+
#
|
204
|
+
# @return [Boolean] returns true if the command completed successfully
|
133
205
|
def set_redistribute(pid, proto, opts = {})
|
134
206
|
routemap = opts[:routemap]
|
135
207
|
cmds = ["router ospf #{pid}", "redistribute #{proto}"]
|
@@ -147,8 +219,7 @@ module Rbeapi
|
|
147
219
|
#
|
148
220
|
# Example
|
149
221
|
# {
|
150
|
-
#
|
151
|
-
# "network_type": <string>
|
222
|
+
# network_type: <string>
|
152
223
|
# }
|
153
224
|
#
|
154
225
|
# @param [String] :name The interface name to return the configuration
|
@@ -174,8 +245,13 @@ module Rbeapi
|
|
174
245
|
#
|
175
246
|
# Example
|
176
247
|
# {
|
177
|
-
# <name>: {
|
178
|
-
#
|
248
|
+
# <name>: {
|
249
|
+
# network_type: <string>
|
250
|
+
# },
|
251
|
+
# <name>: {
|
252
|
+
# network_type: <string>
|
253
|
+
# },
|
254
|
+
# ...
|
179
255
|
# }
|
180
256
|
#
|
181
257
|
# @return [nil, Hash<String, String>] A Ruby hash that represents the
|
@@ -189,6 +265,22 @@ module Rbeapi
|
|
189
265
|
end
|
190
266
|
end
|
191
267
|
|
268
|
+
##
|
269
|
+
# set_network_type sets network type with options
|
270
|
+
#
|
271
|
+
# @param [String] :name The name of the interface
|
272
|
+
#
|
273
|
+
# @param [hash] :opts Optional keyword arguments
|
274
|
+
#
|
275
|
+
# @option :opts [String] :value The point-to-point value
|
276
|
+
#
|
277
|
+
# @option :opts [Boolean] :enable If false then the command is
|
278
|
+
# negated. Default is true.
|
279
|
+
#
|
280
|
+
# @option :opts [Boolean] :default Configure the ip ospf network
|
281
|
+
# to default.
|
282
|
+
#
|
283
|
+
# @return [Boolean] returns true if the command completed successfully
|
192
284
|
def set_network_type(name, opts = {})
|
193
285
|
value = opts[:value]
|
194
286
|
return false unless [nil, 'point-to-point'].include?(value)
|
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
#
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# The Prefixlists class provides a configuration instance for working
|
@@ -48,16 +48,17 @@ module Rbeapi
|
|
48
48
|
# @example
|
49
49
|
# {
|
50
50
|
# <route>: {
|
51
|
-
#
|
52
|
-
#
|
51
|
+
# next_hop: <string>,
|
52
|
+
# name: <string, nil>
|
53
53
|
# }
|
54
54
|
# }
|
55
55
|
#
|
56
|
+
# @param [String] :name The name of the prefix-list to return
|
57
|
+
#
|
56
58
|
# @returns [Hash<String, String> The method will return all of the
|
57
59
|
# configured static routes on the node as a Ruby hash object. If
|
58
60
|
# there are no static routes configured, this method will return
|
59
61
|
# an empty hash
|
60
|
-
|
61
62
|
def get(name)
|
62
63
|
config = get_block("ip prefix-list #{name}")
|
63
64
|
return nil unless config
|
@@ -69,6 +70,21 @@ module Rbeapi
|
|
69
70
|
end
|
70
71
|
end
|
71
72
|
|
73
|
+
##
|
74
|
+
# Returns the static routes configured on the node
|
75
|
+
#
|
76
|
+
# @example
|
77
|
+
# {
|
78
|
+
# <route>: {
|
79
|
+
# next_hop: <string>,
|
80
|
+
# name: <string, nil>
|
81
|
+
# }
|
82
|
+
# }
|
83
|
+
#
|
84
|
+
# @returns [Hash<String, String> The method will return all of the
|
85
|
+
# configured static routes on the node as a Ruby hash object. If
|
86
|
+
# there are no static routes configured, this method will return
|
87
|
+
# an empty hash
|
72
88
|
def getall
|
73
89
|
lists = config.scan(/(?<=^ip\sprefix-list\s).+/)
|
74
90
|
lists.each_with_object({}) do |name, hsh|
|
@@ -77,10 +93,29 @@ module Rbeapi
|
|
77
93
|
end
|
78
94
|
end
|
79
95
|
|
96
|
+
##
|
97
|
+
# create will create a new ip prefix-list with designated name.
|
98
|
+
#
|
99
|
+
# @param [String] :name The name of the ip prefix-list
|
100
|
+
#
|
101
|
+
# @return [Boolean] returns true if the command completed successfully
|
80
102
|
def create(name)
|
81
103
|
configure "ip prefix-list #{name}"
|
82
104
|
end
|
83
105
|
|
106
|
+
##
|
107
|
+
# add_rule will create an ip prefix-list with the designated name,
|
108
|
+
# seqno, action and prefix.
|
109
|
+
#
|
110
|
+
# @param [String] :name The name of the ip prefix-list
|
111
|
+
#
|
112
|
+
# @param [String] :seq The seq value
|
113
|
+
#
|
114
|
+
# @param [String] :action The action value
|
115
|
+
#
|
116
|
+
# @param [String] :prefix The prefix value
|
117
|
+
#
|
118
|
+
# @return [Boolean] returns true if the command completed successfully
|
84
119
|
def add_rule(name, action, prefix, seq = nil)
|
85
120
|
cmd = "ip prefix-list #{name}"
|
86
121
|
cmd << " seq #{seq}" if seq
|
@@ -88,6 +123,14 @@ module Rbeapi
|
|
88
123
|
configure cmd
|
89
124
|
end
|
90
125
|
|
126
|
+
##
|
127
|
+
# delete will remove the designated prefix-list
|
128
|
+
#
|
129
|
+
# @param [String] :name The name of the ip prefix-list
|
130
|
+
#
|
131
|
+
# @param [String] :seq The seq value
|
132
|
+
#
|
133
|
+
# @return [Boolean] returns true if the command completed successfully
|
91
134
|
def delete(name, seq = nil)
|
92
135
|
cmd = "no ip prefix-list #{name}"
|
93
136
|
cmd << " seq #{seq}" if seq
|
data/lib/rbeapi/api/radius.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
#
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# Radius provides instance methods to retrieve and set radius configuration
|
@@ -61,14 +61,14 @@ module Rbeapi
|
|
61
61
|
# This method is intended to be used by a provider's instances class
|
62
62
|
# method.
|
63
63
|
#
|
64
|
-
#
|
65
|
-
#
|
66
|
-
#
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
64
|
+
# @example
|
65
|
+
# {
|
66
|
+
# key: <string>,
|
67
|
+
# key_format: <fixnum>,
|
68
|
+
# timeout: <fixnum>,
|
69
|
+
# retransmit: <fixnum>,
|
70
|
+
# servers: <array>
|
71
|
+
# }
|
72
72
|
#
|
73
73
|
# @return [Array<Hash>] Single element Array of resource hashes
|
74
74
|
def get
|
data/lib/rbeapi/api/routemaps.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
#
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# The Routemaps class manages routemaps. A route map is a list of rules
|
@@ -81,8 +81,8 @@ module Rbeapi
|
|
81
81
|
# }
|
82
82
|
# }
|
83
83
|
#
|
84
|
-
# @param [String] name The routemap name to return a resource for from
|
85
|
-
# nodes configuration
|
84
|
+
# @param [String] :name The routemap name to return a resource for from
|
85
|
+
# the nodes configuration
|
86
86
|
#
|
87
87
|
# @return [nil, Hash<Symbol, Object>] Returns the routemap resource as a
|
88
88
|
# Hash. If the specified name is not found in the nodes current
|
@@ -174,10 +174,11 @@ module Rbeapi
|
|
174
174
|
##
|
175
175
|
# parse entries is a private method to get the routemap rules.
|
176
176
|
#
|
177
|
+
# @api private
|
178
|
+
#
|
177
179
|
# @return [nil, Hash<Symbol, Object>] returns a hash that represents the
|
178
180
|
# rules for routemaps from the nodes running configuration. If
|
179
181
|
# there are no routemaps configured, this method will return nil.
|
180
|
-
#
|
181
182
|
def parse_entries(name)
|
182
183
|
entries = config.scan(/^route-map\s#{name}\s.+$/)
|
183
184
|
return nil if entries.empty?
|
@@ -196,11 +197,12 @@ module Rbeapi
|
|
196
197
|
##
|
197
198
|
# parse rule is a private method to parse a rule.
|
198
199
|
#
|
200
|
+
# @api private
|
201
|
+
#
|
199
202
|
# @return [Hash<Symbol, Object>] returns a hash that represents the
|
200
203
|
# rules for routemaps from the nodes running configuration. If
|
201
204
|
# there are no routemaps configured, this method will return an empty
|
202
205
|
# hash.
|
203
|
-
#
|
204
206
|
def parse_rules(rules)
|
205
207
|
rules.split("\n").each_with_object({}) do |rule, rule_hsh|
|
206
208
|
mdata = /\s{3}(\w+)\s/.match(rule)
|
data/lib/rbeapi/api/snmp.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
# Api is module namespace for working with
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# The Snmp class provides a class implementation for working with the
|
@@ -57,9 +57,9 @@ module Rbeapi
|
|
57
57
|
#
|
58
58
|
# @example
|
59
59
|
# {
|
60
|
-
# location: <string
|
61
|
-
# contact: <string
|
62
|
-
# chassis_id: <string
|
60
|
+
# location: <string>,
|
61
|
+
# contact: <string>,
|
62
|
+
# chassis_id: <string>,
|
63
63
|
# source_interface: <string>
|
64
64
|
# }
|
65
65
|
#
|
@@ -403,6 +403,15 @@ module Rbeapi
|
|
403
403
|
configure cmds
|
404
404
|
end
|
405
405
|
|
406
|
+
##
|
407
|
+
# set_community_access configures snmp-server community with designated
|
408
|
+
# name and access values.
|
409
|
+
#
|
410
|
+
# @param [String] :name The snmp-server community name value
|
411
|
+
#
|
412
|
+
# @param [String] :access The snmp-server community access value
|
413
|
+
#
|
414
|
+
# @return [Boolean] returns true if the command completed successfully
|
406
415
|
def set_community_access(name, access)
|
407
416
|
configure "snmp-server community #{name} #{access}"
|
408
417
|
end
|
data/lib/rbeapi/api/stp.rb
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
# Rbeapi toplevel namespace
|
35
35
|
module Rbeapi
|
36
36
|
##
|
37
|
-
#
|
37
|
+
# Api is module namespace for working with the EOS command API
|
38
38
|
module Api
|
39
39
|
##
|
40
40
|
# The Stp class provides a base class instance for working with
|
@@ -48,13 +48,20 @@ module Rbeapi
|
|
48
48
|
# @example
|
49
49
|
# {
|
50
50
|
# mode: <string>
|
51
|
-
# instances: {
|
52
|
-
#
|
51
|
+
# instances: {
|
52
|
+
# <string>: {
|
53
|
+
# priority: <string>
|
54
|
+
# }
|
55
|
+
# }
|
56
|
+
# interfaces: {
|
57
|
+
# <name>: {
|
58
|
+
# portfast: <boolean>,
|
59
|
+
# portfast_type: <string>,
|
60
|
+
# bpduguard: <boolean>
|
61
|
+
# }
|
62
|
+
# }
|
53
63
|
# }
|
54
64
|
#
|
55
|
-
# @see StpInstances instances get example
|
56
|
-
# @eee StpInterfaces interfaces get example
|
57
|
-
#
|
58
65
|
# @return [Hash] returns a Hash of attributes derived from eAPI
|
59
66
|
def get
|
60
67
|
response = {}
|
@@ -150,6 +157,8 @@ module Rbeapi
|
|
150
157
|
# priority: <string>
|
151
158
|
# }
|
152
159
|
#
|
160
|
+
# @param [String] :inst The named stp instance to return
|
161
|
+
#
|
153
162
|
# @return [nil, Hash<Symbol, Object] returns the stp instance config as
|
154
163
|
# a resource hash. If the instances is not configured this method
|
155
164
|
# will return a nil object
|
@@ -167,11 +176,15 @@ module Rbeapi
|
|
167
176
|
#
|
168
177
|
# @example
|
169
178
|
# {
|
170
|
-
# <inst>: {
|
179
|
+
# <inst>: {
|
180
|
+
# priority: <string>
|
181
|
+
# },
|
182
|
+
# <inst>: {
|
183
|
+
# priority: <string>
|
184
|
+
# },
|
185
|
+
# ...
|
171
186
|
# }
|
172
187
|
#
|
173
|
-
# @see get Instance get example
|
174
|
-
#
|
175
188
|
# @return [Hash<Symbol, Object>] returns all configured stp instances
|
176
189
|
# found in the nodes running configuration
|
177
190
|
def getall
|
@@ -265,10 +278,14 @@ module Rbeapi
|
|
265
278
|
#
|
266
279
|
# @example
|
267
280
|
# {
|
268
|
-
# portfast:
|
269
|
-
#
|
281
|
+
# portfast: <boolean>,
|
282
|
+
# portfast_type: <string>,
|
283
|
+
# bpduguard: <boolean>
|
270
284
|
# }
|
271
285
|
#
|
286
|
+
# @param [String] :name The interface name to return a resource for from
|
287
|
+
# the nodes configuration
|
288
|
+
#
|
272
289
|
# @return [nil, Hash<Symbol, Object>] returns the stp interface as a
|
273
290
|
# resource hash
|
274
291
|
def get(name)
|
@@ -289,11 +306,19 @@ module Rbeapi
|
|
289
306
|
#
|
290
307
|
# @example
|
291
308
|
# {
|
292
|
-
# <
|
309
|
+
# <name>: {
|
310
|
+
# portfast: <boolean>,
|
311
|
+
# portfast_type: <string>,
|
312
|
+
# bpduguard: <boolean>
|
313
|
+
# },
|
314
|
+
# <name>: {
|
315
|
+
# portfast: <boolean>,
|
316
|
+
# portfast_type: <string>,
|
317
|
+
# bpduguard: <boolean>
|
318
|
+
# },
|
319
|
+
# ...
|
293
320
|
# }
|
294
321
|
#
|
295
|
-
# @see get Interface example
|
296
|
-
#
|
297
322
|
# @return [Hash<Symbol, Object>] returns the stp interfaces config as a
|
298
323
|
# resource hash from the nodes running configuration
|
299
324
|
def getall
|