rbeapi 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/.gitignore +35 -0
  2. data/Gemfile +25 -0
  3. data/Guardfile +15 -0
  4. data/LICENSE +28 -0
  5. data/README.md +218 -0
  6. data/Rakefile +12 -0
  7. data/lib/rbeapi.rb +32 -0
  8. data/lib/rbeapi/api.rb +135 -0
  9. data/lib/rbeapi/api/aaa.rb +410 -0
  10. data/lib/rbeapi/api/dns.rb +198 -0
  11. data/lib/rbeapi/api/interfaces.rb +1193 -0
  12. data/lib/rbeapi/api/ipinterfaces.rb +328 -0
  13. data/lib/rbeapi/api/logging.rb +157 -0
  14. data/lib/rbeapi/api/mlag.rb +519 -0
  15. data/lib/rbeapi/api/ntp.rb +201 -0
  16. data/lib/rbeapi/api/ospf.rb +214 -0
  17. data/lib/rbeapi/api/prefixlists.rb +98 -0
  18. data/lib/rbeapi/api/radius.rb +317 -0
  19. data/lib/rbeapi/api/radius.rb.old +399 -0
  20. data/lib/rbeapi/api/routemaps.rb +100 -0
  21. data/lib/rbeapi/api/snmp.rb +427 -0
  22. data/lib/rbeapi/api/staticroutes.rb +88 -0
  23. data/lib/rbeapi/api/stp.rb +381 -0
  24. data/lib/rbeapi/api/switchports.rb +272 -0
  25. data/lib/rbeapi/api/system.rb +87 -0
  26. data/lib/rbeapi/api/tacacs.rb +236 -0
  27. data/lib/rbeapi/api/varp.rb +181 -0
  28. data/lib/rbeapi/api/vlans.rb +338 -0
  29. data/lib/rbeapi/client.rb +454 -0
  30. data/lib/rbeapi/eapilib.rb +334 -0
  31. data/lib/rbeapi/netdev/snmp.rb +370 -0
  32. data/lib/rbeapi/utils.rb +70 -0
  33. data/lib/rbeapi/version.rb +37 -0
  34. data/rbeapi.gemspec +32 -0
  35. data/spec/fixtures/dut.conf +5 -0
  36. data/spec/spec_helper.rb +22 -0
  37. data/spec/support/fixtures.rb +114 -0
  38. data/spec/support/shared_examples_for_api_modules.rb +124 -0
  39. data/spec/system/api_ospf_interfaces_spec.rb +58 -0
  40. data/spec/system/api_ospf_spec.rb +111 -0
  41. data/spec/system/api_varp_interfaces_spec.rb +60 -0
  42. data/spec/system/api_varp_spec.rb +44 -0
  43. data/spec/system/rbeapi/api/dns_spec.rb +77 -0
  44. data/spec/system/rbeapi/api/interfaces_base_spec.rb +94 -0
  45. data/spec/system/rbeapi/api/interfaces_ethernet_spec.rb +135 -0
  46. data/spec/system/rbeapi/api/interfaces_portchannel_spec.rb +188 -0
  47. data/spec/system/rbeapi/api/interfaces_vxlan_spec.rb +115 -0
  48. data/spec/system/rbeapi/api/ipinterfaces_spec.rb +97 -0
  49. data/spec/system/rbeapi/api/logging_spec.rb +65 -0
  50. data/spec/system/rbeapi/api/mlag_interfaces_spec.rb +80 -0
  51. data/spec/system/rbeapi/api/mlag_spec.rb +94 -0
  52. data/spec/system/rbeapi/api/ntp_spec.rb +76 -0
  53. data/spec/system/rbeapi/api/snmp_spec.rb +68 -0
  54. data/spec/system/rbeapi/api/stp_instances_spec.rb +61 -0
  55. data/spec/system/rbeapi/api/stp_interfaces_spec.rb +71 -0
  56. data/spec/system/rbeapi/api/stp_spec.rb +57 -0
  57. data/spec/system/rbeapi/api/switchports_spec.rb +135 -0
  58. data/spec/system/rbeapi/api/system_spec.rb +38 -0
  59. data/spec/system/rbeapi/api/vlans_spec.rb +121 -0
  60. metadata +274 -0
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ require 'rbeapi/client'
4
+ require 'rbeapi/api/stp'
5
+
6
+ describe Rbeapi::Api::Stp do
7
+ subject { described_class.new(node) }
8
+
9
+ let(:node) do
10
+ Rbeapi::Client.config.read(fixture_file('dut.conf'))
11
+ Rbeapi::Client.connect_to('dut')
12
+ end
13
+
14
+ describe '#get' do
15
+ let(:resource) { subject.get }
16
+
17
+ let(:keys) do
18
+ [:interfaces, :instances, :mode]
19
+ end
20
+
21
+ it 'includes all required keys' do
22
+ keys.each do |key|
23
+ expect(subject.get).to include(key)
24
+ end
25
+ end
26
+ end
27
+
28
+ describe '#instances' do
29
+ it 'is a kind of StpInstances' do
30
+ expect(subject.instances).to be_a_kind_of(Rbeapi::Api::StpInstances)
31
+ end
32
+ end
33
+
34
+ describe '#interfaces' do
35
+ it 'is a kind of StpInterfaces' do
36
+ expect(subject.interfaces).to be_a_kind_of(Rbeapi::Api::StpInterfaces)
37
+ end
38
+ end
39
+
40
+ describe '#set_mode' do
41
+ it 'sets the stp mode to mstp' do
42
+ node.config('spanning-tree mode none')
43
+ expect(subject.get[:mode]).to eq('none')
44
+ expect(subject.set_mode(value: 'mstp')).to be_truthy
45
+ expect(subject.get[:mode]).to eq('mstp')
46
+ end
47
+
48
+ it 'sets the stp mode to none' do
49
+ node.config('spanning-tree mode mstp') do
50
+ node.config('spanning-tree mode mstp')
51
+ expect(subject.get[:mode]).to eq('mstp')
52
+ expect(subject.set_mode(value: 'none')).to be_truthy
53
+ expect(subject.get[:mode]).to eq('none')
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,135 @@
1
+ require 'spec_helper'
2
+
3
+ require 'rbeapi/client'
4
+ require 'rbeapi/api/switchports'
5
+
6
+ describe Rbeapi::Api::Switchports do
7
+ subject { described_class.new(node) }
8
+
9
+ let(:node) do
10
+ Rbeapi::Client.config.read(fixture_file('dut.conf'))
11
+ Rbeapi::Client.connect_to('dut')
12
+ end
13
+
14
+ describe '#get' do
15
+
16
+ let(:keys) do
17
+ [ :mode, :access_vlan, :trunk_native_vlan, :trunk_allowed_vlans ]
18
+ end
19
+
20
+ before { node.config(['default interface Ethernet1', 'interface Ethernet2',
21
+ 'no switchport']) }
22
+
23
+ it 'returns the switchport resource' do
24
+ expect(subject.get('Ethernet1')).not_to be_nil
25
+ end
26
+
27
+ it 'does not return a nonswitchport resource' do
28
+ expect(subject.get('Ethernet2')).to be_nil
29
+ end
30
+
31
+ it 'has all required keys' do
32
+ expect(subject.get('Ethernet1').keys).to eq(keys)
33
+ end
34
+
35
+ it 'returns allowed_vlans as an array' do
36
+ expect(subject.get('Ethernet1')[:trunk_allowed_vlans]).to be_a_kind_of(Array)
37
+ end
38
+ end
39
+
40
+ describe '#getall' do
41
+ before { node.config('default interface Ethernet1-7') }
42
+
43
+ it 'returns the switchport collection' do
44
+ expect(subject.getall).to include('Ethernet1')
45
+ end
46
+
47
+ it 'returns a hash collection' do
48
+ expect(subject.getall).to be_a_kind_of(Hash)
49
+ end
50
+ end
51
+
52
+ describe '#create' do
53
+ before { node.config(['interface Ethernet1', 'no switchport']) }
54
+
55
+ it 'creates a new switchport resource' do
56
+ expect(subject.get('Ethernet1')).to be_nil
57
+ expect(subject.create('Ethernet1')).to be_truthy
58
+ expect(subject.get('Ethernet1')).not_to be_nil
59
+ end
60
+ end
61
+
62
+ describe '#delete' do
63
+ before { node.config(['interface Ethernet1', 'switchport']) }
64
+
65
+ it 'deletes a switchport resource' do
66
+ expect(subject.get('Ethernet1')).not_to be_nil
67
+ expect(subject.delete('Ethernet1')).to be_truthy
68
+ expect(subject.get('Ethernet1')).to be_nil
69
+ end
70
+ end
71
+
72
+ describe '#default' do
73
+ before { node.config(['interface Ethernet1', 'no switchport']) }
74
+
75
+ it 'sets Ethernet1 to default' do
76
+ expect(subject.get('Ethernet1')).to be_nil
77
+ expect(subject.default('Ethernet1')).to be_truthy
78
+ expect(subject.get('Ethernet1')).not_to be_nil
79
+ end
80
+ end
81
+
82
+ describe '#set_mode' do
83
+ it 'sets mode value to access' do
84
+ node.config(['interface Ethernet1', 'switchport mode trunk'])
85
+ expect(subject.get('Ethernet1')[:mode]).to eq('trunk')
86
+ expect(subject.set_mode('Ethernet1', value: 'access')).to be_truthy
87
+ expect(subject.get('Ethernet1')[:mode]).to eq('access')
88
+ end
89
+
90
+ it 'sets the mode value to trunk' do
91
+ node.config(['default interface Ethernet1'])
92
+ expect(subject.get('Ethernet1')[:mode]).to eq('access')
93
+ expect(subject.set_mode('Ethernet1', value: 'trunk')).to be_truthy
94
+ expect(subject.get('Ethernet1')[:mode]).to eq('trunk')
95
+ end
96
+ end
97
+
98
+ describe '#set_access_vlan' do
99
+ before { node.config(['default interface Ethernet1', 'vlan 100']) }
100
+
101
+ it 'sets the access vlan value to 100' do
102
+ expect(subject.get('Ethernet1')[:access_vlan]).to eq('1')
103
+ expect(subject.set_access_vlan('Ethernet1', value: '100')).to be_truthy
104
+ expect(subject.get('Ethernet1')[:access_vlan]).to eq('100')
105
+ end
106
+ end
107
+
108
+ describe '#set_trunk_native_vlan' do
109
+ before { node.config(['default interface Ethernet1', 'vlan 100']) }
110
+
111
+ it 'sets the trunk native vlan to 100' do
112
+ expect(subject.get('Ethernet1')[:trunk_native_vlan]).to eq('1')
113
+ expect(subject.set_trunk_native_vlan('Ethernet1', value: '100')).to be_truthy
114
+ expect(subject.get('Ethernet1')[:trunk_native_vlan]).to eq('100')
115
+ end
116
+ end
117
+
118
+ describe '#set_trunk_allowed_vlans' do
119
+ before { node.config(['default interface Ethernet1', 'vlan 100']) }
120
+
121
+ it 'raises an ArgumentError if value is not an array' do
122
+ expect {
123
+ subject.set_trunk_allowed_vlans('Ethernet1', value: '1-100')
124
+ }.to raise_error(ArgumentError)
125
+ end
126
+
127
+ it 'sets vlan 100 to the trunk allowed vlans' do
128
+ node.config(['interface Ethernet1', 'switchport trunk allowed vlan none'])
129
+ expect(subject.get('Ethernet1')[:trunk_allowed_vlans]).to be_empty
130
+ expect(subject.set_trunk_allowed_vlans('Ethernet1', value: [100])).to be_truthy
131
+ expect(subject.get('Ethernet1')[:trunk_allowed_vlans]).to include(100)
132
+ end
133
+ end
134
+ end
135
+
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ require 'rbeapi/client'
4
+ require 'rbeapi/api/system'
5
+
6
+ describe Rbeapi::Api::System do
7
+ subject { described_class.new(node) }
8
+
9
+ let(:node) do
10
+ Rbeapi::Client.config.read(fixture_file('dut.conf'))
11
+ Rbeapi::Client.connect_to('dut')
12
+ end
13
+
14
+ describe '#get' do
15
+
16
+ let(:entity) do
17
+ { hostname: 'localhost' }
18
+ end
19
+
20
+ before { node.config('hostname localhost') }
21
+
22
+ it 'returns the snmp resource' do
23
+ expect(subject.get).to eq(entity)
24
+ end
25
+ end
26
+
27
+ describe '#set_system' do
28
+ before { node.config('hostname localhost') }
29
+
30
+ it 'configures the system hostname value' do
31
+ expect(subject.get[:hostname]).to eq('localhost')
32
+ expect(subject.set_hostname(value: 'foo')).to be_truthy
33
+ expect(subject.get[:hostname]).to eq('foo')
34
+ end
35
+ end
36
+ end
37
+
38
+
@@ -0,0 +1,121 @@
1
+ require 'spec_helper'
2
+
3
+ require 'rbeapi/client'
4
+ require 'rbeapi/api/vlans'
5
+
6
+ describe Rbeapi::Api::Vlans do
7
+ subject { described_class.new(node) }
8
+
9
+ let(:node) do
10
+ Rbeapi::Client.config.read(fixture_file('dut.conf'))
11
+ Rbeapi::Client.connect_to('dut')
12
+ end
13
+
14
+ describe '#get' do
15
+
16
+ let(:entity) do
17
+ { name: 'default', state: 'active', trunk_groups: [] }
18
+ end
19
+
20
+ before { node.config(['no vlan 1-4094', 'vlan 1']) }
21
+
22
+ it 'returns the vlan resource' do
23
+ expect(subject.get('1')).to eq(entity)
24
+ end
25
+ end
26
+
27
+ describe '#getall' do
28
+ before { node.config(['no vlan 1-4094', 'vlan 1']) }
29
+
30
+ it 'returns the vlan collection' do
31
+ expect(subject.getall).to include('1')
32
+ end
33
+
34
+ it 'returns a hash collection' do
35
+ expect(subject.getall).to be_a_kind_of(Hash)
36
+ end
37
+
38
+ it 'has only one entry' do
39
+ expect(subject.getall.size).to eq(1)
40
+ end
41
+ end
42
+
43
+ describe '#create' do
44
+ before { node.config('no vlan 1234') }
45
+
46
+ it 'creates a new vlan resource' do
47
+ expect(subject.get('1234')).to be_nil
48
+ expect(subject.create('1234')).to be_truthy
49
+ expect(subject.get('1234')).not_to be_nil
50
+ end
51
+ end
52
+
53
+ describe '#delete' do
54
+ before { node.config('vlan 1234') }
55
+
56
+ it 'deletes a vlan resource' do
57
+ expect(subject.get('1234')).not_to be_nil
58
+ expect(subject.delete('1234')).to be_truthy
59
+ expect(subject.get('1234')).to be_nil
60
+ end
61
+ end
62
+
63
+ describe '#default' do
64
+ before { node.config(['vlan 1']) }
65
+
66
+ it 'sets vlan 1 to default' do
67
+ expect(subject.get('1')).not_to be_nil
68
+ expect(subject.default('1')).to be_truthy
69
+ expect(subject.get('1')).to be_nil
70
+ end
71
+ end
72
+
73
+ describe '#set_name' do
74
+ before { node.config(['default vlan 1', 'vlan 1']) }
75
+
76
+ it 'sets vlan 1 name to foo' do
77
+ expect(subject.get('1')[:name]).to eq('default')
78
+ expect(subject.set_name('1', value: 'foo')).to be_truthy
79
+ expect(subject.get('1')[:name]).to eq('foo')
80
+ end
81
+ end
82
+
83
+ describe '#set_state' do
84
+
85
+ it 'sets vlan 1 state to suspend' do
86
+ node.config(['default vlan 1', 'vlan 1'])
87
+ expect(subject.get('1')[:state]).to eq('active')
88
+ expect(subject.set_state('1', value: 'suspend')).to be_truthy
89
+ expect(subject.get('1')[:state]).to eq('suspend')
90
+ end
91
+
92
+ it 'sets vlan 1 state to active' do
93
+ node.config(['vlan 1', 'state suspend'])
94
+ expect(subject.get('1')[:state]).to eq('suspend')
95
+ expect(subject.set_state('1', value: 'active')).to be_truthy
96
+ expect(subject.get('1')[:state]).to eq('active')
97
+ end
98
+ end
99
+
100
+ describe '#add_trunk_group' do
101
+ before { node.config(['default vlan 1', 'vlan 1']) }
102
+
103
+ it 'adds trunk group foo to vlan 1' do
104
+ expect(subject.get('1')[:trunk_groups]).not_to include('foo')
105
+ expect(subject.add_trunk_group('1', 'foo')).to be_truthy
106
+ expect(subject.get('1')[:trunk_groups]).to include('foo')
107
+ end
108
+ end
109
+
110
+ describe '#remove_trunk_group' do
111
+ before { node.config(['vlan 1', 'trunk group foo']) }
112
+
113
+ it 'removes trunk group foo from vlan 1' do
114
+ expect(subject.get('1')[:trunk_groups]).to include('foo')
115
+ expect(subject.remove_trunk_group('1', 'foo')).to be_truthy
116
+ expect(subject.get('1')[:trunk_groups]).not_to include('foo')
117
+ end
118
+ end
119
+ end
120
+
121
+
metadata ADDED
@@ -0,0 +1,274 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rbeapi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Peter Sprygada
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-02-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: net_http_unix
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: inifile
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: bundler
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '1.3'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ - !ruby/object:Gem::Dependency
63
+ name: yard
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: redcarpet
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rake
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 10.1.0
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 10.1.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 3.0.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 3.0.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: rspec-mocks
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 3.0.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 3.0.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: simplecov
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ description: Arista eAPI Ruby Library
159
+ email:
160
+ - sprygada@arista.com
161
+ executables: []
162
+ extensions: []
163
+ extra_rdoc_files: []
164
+ files:
165
+ - .gitignore
166
+ - Gemfile
167
+ - Guardfile
168
+ - LICENSE
169
+ - README.md
170
+ - Rakefile
171
+ - lib/rbeapi.rb
172
+ - lib/rbeapi/api.rb
173
+ - lib/rbeapi/api/aaa.rb
174
+ - lib/rbeapi/api/dns.rb
175
+ - lib/rbeapi/api/interfaces.rb
176
+ - lib/rbeapi/api/ipinterfaces.rb
177
+ - lib/rbeapi/api/logging.rb
178
+ - lib/rbeapi/api/mlag.rb
179
+ - lib/rbeapi/api/ntp.rb
180
+ - lib/rbeapi/api/ospf.rb
181
+ - lib/rbeapi/api/prefixlists.rb
182
+ - lib/rbeapi/api/radius.rb
183
+ - lib/rbeapi/api/radius.rb.old
184
+ - lib/rbeapi/api/routemaps.rb
185
+ - lib/rbeapi/api/snmp.rb
186
+ - lib/rbeapi/api/staticroutes.rb
187
+ - lib/rbeapi/api/stp.rb
188
+ - lib/rbeapi/api/switchports.rb
189
+ - lib/rbeapi/api/system.rb
190
+ - lib/rbeapi/api/tacacs.rb
191
+ - lib/rbeapi/api/varp.rb
192
+ - lib/rbeapi/api/vlans.rb
193
+ - lib/rbeapi/client.rb
194
+ - lib/rbeapi/eapilib.rb
195
+ - lib/rbeapi/netdev/snmp.rb
196
+ - lib/rbeapi/utils.rb
197
+ - lib/rbeapi/version.rb
198
+ - rbeapi.gemspec
199
+ - spec/fixtures/dut.conf
200
+ - spec/spec_helper.rb
201
+ - spec/support/fixtures.rb
202
+ - spec/support/shared_examples_for_api_modules.rb
203
+ - spec/system/api_ospf_interfaces_spec.rb
204
+ - spec/system/api_ospf_spec.rb
205
+ - spec/system/api_varp_interfaces_spec.rb
206
+ - spec/system/api_varp_spec.rb
207
+ - spec/system/rbeapi/api/dns_spec.rb
208
+ - spec/system/rbeapi/api/interfaces_base_spec.rb
209
+ - spec/system/rbeapi/api/interfaces_ethernet_spec.rb
210
+ - spec/system/rbeapi/api/interfaces_portchannel_spec.rb
211
+ - spec/system/rbeapi/api/interfaces_vxlan_spec.rb
212
+ - spec/system/rbeapi/api/ipinterfaces_spec.rb
213
+ - spec/system/rbeapi/api/logging_spec.rb
214
+ - spec/system/rbeapi/api/mlag_interfaces_spec.rb
215
+ - spec/system/rbeapi/api/mlag_spec.rb
216
+ - spec/system/rbeapi/api/ntp_spec.rb
217
+ - spec/system/rbeapi/api/snmp_spec.rb
218
+ - spec/system/rbeapi/api/stp_instances_spec.rb
219
+ - spec/system/rbeapi/api/stp_interfaces_spec.rb
220
+ - spec/system/rbeapi/api/stp_spec.rb
221
+ - spec/system/rbeapi/api/switchports_spec.rb
222
+ - spec/system/rbeapi/api/system_spec.rb
223
+ - spec/system/rbeapi/api/vlans_spec.rb
224
+ homepage: https://github.com/arista-eosplus/rbeapi
225
+ licenses:
226
+ - New BSD
227
+ post_install_message:
228
+ rdoc_options: []
229
+ require_paths:
230
+ - lib
231
+ required_ruby_version: !ruby/object:Gem::Requirement
232
+ none: false
233
+ requirements:
234
+ - - ! '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ required_rubygems_version: !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ! '>='
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ requirements: []
244
+ rubyforge_project:
245
+ rubygems_version: 1.8.23
246
+ signing_key:
247
+ specification_version: 3
248
+ summary: This Gem library provides a Ruby interface to the Arista EOS command API
249
+ test_files:
250
+ - spec/fixtures/dut.conf
251
+ - spec/spec_helper.rb
252
+ - spec/support/fixtures.rb
253
+ - spec/support/shared_examples_for_api_modules.rb
254
+ - spec/system/api_ospf_interfaces_spec.rb
255
+ - spec/system/api_ospf_spec.rb
256
+ - spec/system/api_varp_interfaces_spec.rb
257
+ - spec/system/api_varp_spec.rb
258
+ - spec/system/rbeapi/api/dns_spec.rb
259
+ - spec/system/rbeapi/api/interfaces_base_spec.rb
260
+ - spec/system/rbeapi/api/interfaces_ethernet_spec.rb
261
+ - spec/system/rbeapi/api/interfaces_portchannel_spec.rb
262
+ - spec/system/rbeapi/api/interfaces_vxlan_spec.rb
263
+ - spec/system/rbeapi/api/ipinterfaces_spec.rb
264
+ - spec/system/rbeapi/api/logging_spec.rb
265
+ - spec/system/rbeapi/api/mlag_interfaces_spec.rb
266
+ - spec/system/rbeapi/api/mlag_spec.rb
267
+ - spec/system/rbeapi/api/ntp_spec.rb
268
+ - spec/system/rbeapi/api/snmp_spec.rb
269
+ - spec/system/rbeapi/api/stp_instances_spec.rb
270
+ - spec/system/rbeapi/api/stp_interfaces_spec.rb
271
+ - spec/system/rbeapi/api/stp_spec.rb
272
+ - spec/system/rbeapi/api/switchports_spec.rb
273
+ - spec/system/rbeapi/api/system_spec.rb
274
+ - spec/system/rbeapi/api/vlans_spec.rb