Class: Arista::EAPI::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/arista/eapi/request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(switch, *commands) ⇒ Request

Returns a new instance of Request.



6
7
8
9
# File 'lib/arista/eapi/request.rb', line 6

def initialize(switch, *commands)
  self.switch = switch
  self.commands = commands
end

Instance Attribute Details

#commandsObject

Returns the value of attribute commands.



4
5
6
# File 'lib/arista/eapi/request.rb', line 4

def commands
  @commands
end

#switchObject

Returns the value of attribute switch.



4
5
6
# File 'lib/arista/eapi/request.rb', line 4

def switch
  @switch
end

Class Method Details

.execute!(switch, *commands) ⇒ Object



28
29
30
31
# File 'lib/arista/eapi/request.rb', line 28

def self.execute!(switch, *commands)
  req = self.new(switch, *commands)
  req.execute
end

Instance Method Details

#executeObject



24
25
26
# File 'lib/arista/eapi/request.rb', line 24

def execute
  Arista::EAPI::Response.new(commands, RestClient.post(switch.url, payload))
end

#payloadObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/arista/eapi/request.rb', line 11

def payload
  @payload ||= JSON.generate({
    :jsonrpc => '2.0',
    :method  => 'runCmds',
    :id      => 1,
    :params  => {
      :version => 1,
      :cmds    => commands,
      :format  => Arista::EAPI.format_for(commands)
    },
  })
end