rbeapi 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
# Api is module
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# The Switchport class provides a base class instance for working with
|
@@ -55,7 +55,7 @@ module Rbeapi
|
|
55
55
|
# "access_vlan": <Integer>
|
56
56
|
# }
|
57
57
|
#
|
58
|
-
# @param [String] name The full name of the interface to get. The
|
58
|
+
# @param [String] :name The full name of the interface to get. The
|
59
59
|
# interface name must be the full interface (ie Ethernet, not Et)
|
60
60
|
#
|
61
61
|
# @return [Hash] a hash that includes the switchport properties
|
@@ -69,24 +69,67 @@ module Rbeapi
|
|
69
69
|
response.merge!(parse_access_vlan(config))
|
70
70
|
response.merge!(parse_trunk_native_vlan(config))
|
71
71
|
response.merge!(parse_trunk_allowed_vlans(config))
|
72
|
+
response.merge!(parse_trunk_groups(config))
|
72
73
|
response
|
73
74
|
end
|
74
75
|
|
76
|
+
##
|
77
|
+
# parse_mode parses switchport mode from the provided config
|
78
|
+
#
|
79
|
+
# @api private
|
80
|
+
#
|
81
|
+
# @param [String] :config The configuration block returned
|
82
|
+
# from the node's running configuration
|
83
|
+
#
|
84
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
75
85
|
def parse_mode(config)
|
76
86
|
mdata = /(?<=\s{3}switchport\smode\s)(.+)$/.match(config)
|
77
87
|
{ mode: mdata[1] }
|
78
88
|
end
|
89
|
+
private :parse_mode
|
79
90
|
|
91
|
+
##
|
92
|
+
# parse_access_vlan parses access vlan from the provided
|
93
|
+
# config
|
94
|
+
#
|
95
|
+
# @api private
|
96
|
+
#
|
97
|
+
# @param [String] :config The configuration block returned
|
98
|
+
# from the node's running configuration
|
99
|
+
#
|
100
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
80
101
|
def parse_access_vlan(config)
|
81
102
|
mdata = /(?<=access\svlan\s)(.+)$/.match(config)
|
82
103
|
{ access_vlan: mdata[1] }
|
83
104
|
end
|
105
|
+
private :parse_access_vlan
|
84
106
|
|
107
|
+
##
|
108
|
+
# parse_trunk_native_vlan parses trunk native vlan from
|
109
|
+
# the provided config
|
110
|
+
#
|
111
|
+
# @api private
|
112
|
+
#
|
113
|
+
# @param [String] :config The configuration block returned
|
114
|
+
# from the node's running configuration
|
115
|
+
#
|
116
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
85
117
|
def parse_trunk_native_vlan(config)
|
86
118
|
mdata = /(?<=trunk\snative\svlan\s)(.+)$/.match(config)
|
87
119
|
{ trunk_native_vlan: mdata[1] }
|
88
120
|
end
|
121
|
+
private :parse_trunk_native_vlan
|
89
122
|
|
123
|
+
##
|
124
|
+
# parse_trunk_allowed_vlans parses trunk allowed vlan from
|
125
|
+
# the provided config
|
126
|
+
#
|
127
|
+
# @api private
|
128
|
+
#
|
129
|
+
# @param [String] :config The configuration block returned
|
130
|
+
# from the node's running configuration
|
131
|
+
#
|
132
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
90
133
|
def parse_trunk_allowed_vlans(config)
|
91
134
|
mdata = /(?<=trunk\sallowed\svlan\s)(.+)$/.match(config)
|
92
135
|
return { trunk_allowed_vlans: [] } unless mdata[1] != 'none'
|
@@ -101,10 +144,47 @@ module Rbeapi
|
|
101
144
|
end
|
102
145
|
{ trunk_allowed_vlans: values }
|
103
146
|
end
|
147
|
+
private :parse_trunk_allowed_vlans
|
148
|
+
|
149
|
+
##
|
150
|
+
# parse_trunk_groups parses trunk group values from the
|
151
|
+
# provided config
|
152
|
+
#
|
153
|
+
# @api private
|
154
|
+
#
|
155
|
+
# @param [String] :config The configuration block returned
|
156
|
+
# from the node's running configuration
|
157
|
+
#
|
158
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
159
|
+
def parse_trunk_groups(config)
|
160
|
+
mdata = config.scan(/(?<=trunk\sgroup\s)(.+)$/)
|
161
|
+
mdata = mdata.flatten if mdata.length > 0
|
162
|
+
{ trunk_groups: mdata }
|
163
|
+
end
|
164
|
+
private :parse_trunk_groups
|
104
165
|
|
105
166
|
##
|
106
167
|
# Retrieves all switchport interfaces from the running-config
|
107
168
|
#
|
169
|
+
# @example
|
170
|
+
# {
|
171
|
+
# <name>: {
|
172
|
+
# mode: <string>,
|
173
|
+
# access_vlan: <string>,
|
174
|
+
# trunk_native_vlan: <string>,
|
175
|
+
# trunk_allowed_vlans: <array>,
|
176
|
+
# trunk_groups: <array>
|
177
|
+
# },
|
178
|
+
# <name>: {
|
179
|
+
# mode: <string>,
|
180
|
+
# access_vlan: <string>,
|
181
|
+
# trunk_native_vlan: <string>,
|
182
|
+
# trunk_allowed_vlans: <array>,
|
183
|
+
# trunk_groups: <array>
|
184
|
+
# },
|
185
|
+
# ...
|
186
|
+
# }
|
187
|
+
#
|
108
188
|
# @return [Array] an array of switchport hashes
|
109
189
|
def getall
|
110
190
|
interfaces = config.scan(/(?<=^interface\s)([Et|Po].+)$/)
|
@@ -248,6 +328,50 @@ module Rbeapi
|
|
248
328
|
cmd = command_builder('switchport access vlan', opts)
|
249
329
|
configure_interface(name, cmd)
|
250
330
|
end
|
331
|
+
|
332
|
+
##
|
333
|
+
# Configures the trunk group vlans for the specified interface.
|
334
|
+
# Trunk groups not currently set are added and trunk groups
|
335
|
+
# currently configured but not in the passed in value array are removed.
|
336
|
+
#
|
337
|
+
# @param [String] name The name of the interface to configure
|
338
|
+
# @param [Hash] opts The configuration parameters for the interface
|
339
|
+
# @option opts [string] :value Set of values to configure the trunk group
|
340
|
+
# @option opts [Boolean] :enable If false then the command is
|
341
|
+
# negated. Default is true.
|
342
|
+
# @option opts [Boolean] :default The value should be set to default
|
343
|
+
# Default takes precedence over enable.
|
344
|
+
#
|
345
|
+
# @return [Boolean] True if the commands succeed otherwise False
|
346
|
+
def set_trunk_groups(name, opts = {})
|
347
|
+
default = opts.fetch(:default, false)
|
348
|
+
if default
|
349
|
+
return configure_interface(name, 'default switchport trunk group')
|
350
|
+
end
|
351
|
+
|
352
|
+
enable = opts.fetch(:enable, true)
|
353
|
+
unless enable
|
354
|
+
return configure_interface(name, 'no switchport trunk group')
|
355
|
+
end
|
356
|
+
|
357
|
+
value = opts.fetch(:value, [])
|
358
|
+
fail ArgumentError, 'value must be an Array' unless value.is_a?(Array)
|
359
|
+
|
360
|
+
value = Set.new value
|
361
|
+
current_value = Set.new get(name)[:trunk_groups]
|
362
|
+
|
363
|
+
cmds = []
|
364
|
+
# Add trunk groups that are not currently in the list
|
365
|
+
value.difference(current_value).each do |group|
|
366
|
+
cmds << "switchport trunk group #{group}"
|
367
|
+
end
|
368
|
+
|
369
|
+
# Remove trunk groups that are not in the new list
|
370
|
+
current_value.difference(value).each do |group|
|
371
|
+
cmds << "no switchport trunk group #{group}"
|
372
|
+
end
|
373
|
+
configure_interface(name, cmds) if cmds.length > 0
|
374
|
+
end
|
251
375
|
end
|
252
376
|
end
|
253
377
|
end
|
data/lib/rbeapi/api/system.rb
CHANGED
@@ -35,18 +35,19 @@ 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 System class configures the node system services such as
|
42
42
|
# hostname and domain name
|
43
43
|
class System < Entity
|
44
44
|
##
|
45
|
-
# Returns the system settings
|
45
|
+
# Returns the system settings for hostname and iprouting
|
46
46
|
#
|
47
47
|
# @example
|
48
48
|
# {
|
49
|
-
# hostname: <string
|
49
|
+
# hostname: <string>,
|
50
|
+
# iprouting: <boolean>
|
50
51
|
# }
|
51
52
|
#
|
52
53
|
# @return [Hash] A Ruby hash object that provides the system settings as
|
@@ -58,15 +59,35 @@ module Rbeapi
|
|
58
59
|
response
|
59
60
|
end
|
60
61
|
|
62
|
+
##
|
63
|
+
# parse_hostname parses hostname values from the provided config
|
64
|
+
#
|
65
|
+
# @api private
|
66
|
+
#
|
67
|
+
# @param [String] :config The configuration block returned
|
68
|
+
# from the node's running configuration
|
69
|
+
#
|
70
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
61
71
|
def parse_hostname(config)
|
62
72
|
mdata = /(?<=^hostname\s)(.+)$/.match(config)
|
63
73
|
{ hostname: mdata.nil? ? '' : mdata[1] }
|
64
74
|
end
|
75
|
+
private :parse_hostname
|
65
76
|
|
77
|
+
##
|
78
|
+
# parse_iprouting parses ip routing from the provided config
|
79
|
+
#
|
80
|
+
# @api private
|
81
|
+
#
|
82
|
+
# @param [String] :config The configuration block returned
|
83
|
+
# from the node's running configuration
|
84
|
+
#
|
85
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
66
86
|
def parse_iprouting(config)
|
67
87
|
mdata = /no\sip\srouting/.match(config)
|
68
88
|
{ iprouting: mdata.nil? ? true : false }
|
69
89
|
end
|
90
|
+
private :parse_iprouting
|
70
91
|
|
71
92
|
##
|
72
93
|
# Configures the system hostname value in the running-config
|
data/lib/rbeapi/api/tacacs.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
# Api is module
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# Tacacs provides instance methods to retrieve and set tacacs configuration
|
@@ -63,15 +63,14 @@ module Rbeapi
|
|
63
63
|
# This method is intended to be used by a provider's instances class
|
64
64
|
# method.
|
65
65
|
#
|
66
|
-
#
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
72
|
-
#
|
73
|
-
#
|
74
|
-
# @api public
|
66
|
+
# @example
|
67
|
+
# {
|
68
|
+
# name: <string>,
|
69
|
+
# enable: <boolean>,
|
70
|
+
# key: <string>,
|
71
|
+
# key_format: <integer>,
|
72
|
+
# timeout: <integer>
|
73
|
+
# }
|
75
74
|
#
|
76
75
|
# @return [Array<Hash>] Single element Array of resource hashes
|
77
76
|
def get
|
data/lib/rbeapi/api/users.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
# Api is module
|
38
|
+
# Api is module namespace for working with the EOS command API
|
39
39
|
module Api
|
40
40
|
##
|
41
41
|
# The Users class provides configuration of local user resources for
|
@@ -76,7 +76,7 @@ module Rbeapi
|
|
76
76
|
# sshkey: <string>
|
77
77
|
# }
|
78
78
|
#
|
79
|
-
# @param [String] name The user name to return a resource for from the
|
79
|
+
# @param [String] :name The user name to return a resource for from the
|
80
80
|
# nodes configuration
|
81
81
|
#
|
82
82
|
# @return [nil, Hash<Symbol, Object>] Returns the user resource as a
|
@@ -94,7 +94,7 @@ module Rbeapi
|
|
94
94
|
(username\s+#{name}\s+
|
95
95
|
sshkey\s+(?<sshkey>.*)$)?/x)
|
96
96
|
user = config.scan(user_re)
|
97
|
-
return nil unless user
|
97
|
+
return nil unless user && user[0]
|
98
98
|
parse_user_entry(user[0])
|
99
99
|
end
|
100
100
|
|
@@ -114,6 +114,15 @@ module Rbeapi
|
|
114
114
|
# secret: <string>,
|
115
115
|
# sshkey: <string>
|
116
116
|
# },
|
117
|
+
# <username>: {
|
118
|
+
# name: <string>,
|
119
|
+
# privilege: <integer>,
|
120
|
+
# role: <string>,
|
121
|
+
# nopassword: <boolean>,
|
122
|
+
# encryption: <'cleartext', 'md5', 'sha512'>
|
123
|
+
# secret: <string>,
|
124
|
+
# sshkey: <string>
|
125
|
+
# },
|
117
126
|
# ...
|
118
127
|
# ]
|
119
128
|
#
|
data/lib/rbeapi/api/varp.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 Varp class provides an instance for working with the global
|
@@ -44,10 +44,18 @@ module Rbeapi
|
|
44
44
|
##
|
45
45
|
# Returns the global VARP configuration from the node
|
46
46
|
#
|
47
|
-
#
|
47
|
+
# @example
|
48
48
|
# {
|
49
|
-
#
|
50
|
-
#
|
49
|
+
# mac_address: <string>,
|
50
|
+
# interfaces: {
|
51
|
+
# <name>: {
|
52
|
+
# addresses: <array>
|
53
|
+
# },
|
54
|
+
# <name>: {
|
55
|
+
# addresses: <array>
|
56
|
+
# },
|
57
|
+
# ...
|
58
|
+
# }
|
51
59
|
# }
|
52
60
|
#
|
53
61
|
# @return [Hash] A Ruby hash object that provides the Varp settings as
|
@@ -59,6 +67,15 @@ module Rbeapi
|
|
59
67
|
response
|
60
68
|
end
|
61
69
|
|
70
|
+
##
|
71
|
+
# parse_mac_address parses mac-address values from the provided config
|
72
|
+
#
|
73
|
+
# @api private
|
74
|
+
#
|
75
|
+
# @param [String] :config The configuration block returned
|
76
|
+
# from the node's running configuration
|
77
|
+
#
|
78
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
62
79
|
def parse_mac_address(config)
|
63
80
|
# ip virtual-router mac-address value will always
|
64
81
|
# be stored in aa:bb:cc:dd:ee:ff format
|
@@ -97,7 +114,7 @@ module Rbeapi
|
|
97
114
|
##
|
98
115
|
# Returns a single VARP interface configuration
|
99
116
|
#
|
100
|
-
#
|
117
|
+
# @example
|
101
118
|
# {
|
102
119
|
# "addresses": array<string>
|
103
120
|
# }
|
@@ -119,10 +136,15 @@ module Rbeapi
|
|
119
136
|
# Returns the collection of MLAG interfaces as a hash index by the
|
120
137
|
# interface name
|
121
138
|
#
|
122
|
-
#
|
139
|
+
# @example
|
123
140
|
# {
|
124
|
-
#
|
125
|
-
#
|
141
|
+
# <name>: {
|
142
|
+
# addresses: <array>
|
143
|
+
# },
|
144
|
+
# <name>: {
|
145
|
+
# addresses: <array>
|
146
|
+
# },
|
147
|
+
# ...
|
126
148
|
# }
|
127
149
|
#
|
128
150
|
# @return [nil, Hash<String, String>] A Ruby hash that represents the
|
@@ -138,6 +160,16 @@ module Rbeapi
|
|
138
160
|
end
|
139
161
|
end
|
140
162
|
|
163
|
+
##
|
164
|
+
# parse_addresses parses ip virtual-router address from the provided
|
165
|
+
# config
|
166
|
+
#
|
167
|
+
# @api private
|
168
|
+
#
|
169
|
+
# @param [String] :config The configuration block returned
|
170
|
+
# from the node's running configuration
|
171
|
+
#
|
172
|
+
# @return [Hash<Symbol, Object>] resource hash attribute
|
141
173
|
def parse_addresses(config)
|
142
174
|
addrs = config.scan(/(?<=\s{3}ip\svirtual-router\saddress\s).+$/)
|
143
175
|
{ addresses: addrs }
|
data/lib/rbeapi/api/vlans.rb
CHANGED
@@ -35,7 +35,7 @@ require 'rbeapi/api'
|
|
35
35
|
# Rbeapi toplevel namespace
|
36
36
|
module Rbeapi
|
37
37
|
##
|
38
|
-
# Api is module
|
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
|
@@ -50,12 +50,12 @@ module Rbeapi
|
|
50
50
|
#
|
51
51
|
# @example
|
52
52
|
# {
|
53
|
-
# name: <string
|
54
|
-
# state: <string
|
53
|
+
# name: <string>,
|
54
|
+
# state: <string>,
|
55
55
|
# trunk_groups: array[<string]
|
56
56
|
# }
|
57
57
|
#
|
58
|
-
# @param [String] id The vlan id to return a resource for from the
|
58
|
+
# @param [String] :id The vlan id to return a resource for from the
|
59
59
|
# nodes configuration
|
60
60
|
#
|
61
61
|
# @return [nil, Hash<Symbol, Object>] Returns the vlan resource as a
|
@@ -78,7 +78,17 @@ module Rbeapi
|
|
78
78
|
#
|
79
79
|
# @example
|
80
80
|
# {
|
81
|
-
# <vlanid>: {
|
81
|
+
# <vlanid>: {
|
82
|
+
# name: <string>,
|
83
|
+
# state: <string>,
|
84
|
+
# trunk_groups: array[<string]
|
85
|
+
# },
|
86
|
+
# <vlanid>: {
|
87
|
+
# name: <string>,
|
88
|
+
# state: <string>,
|
89
|
+
# trunk_groups: array[<string]
|
90
|
+
# },
|
91
|
+
# ...
|
82
92
|
# }
|
83
93
|
#
|
84
94
|
# @see get Vlan resource example
|