rbeapi 0.1.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.
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