class CvpApi

Abstract methods for interacting with Arista CloudVision

CvpApi provides high-level, convenience methods which utilize CvpClient for handling communications with CVP.

@example Basic usage

require 'cvprac'
cvp = CvpClient.new
cvp.connect(['cvp1', 'cvp2', 'cvp3'], 'cvpadmin', 'arista123')
api = CvpApi.new(cvp)
result = api.get_cvp_info
print result
{"version"=>"2016.1.1"}

@author Arista EOS+ Consulting Services <eosplus-dev@arista.com>

Public Class Methods

new(clnt, **opts) click to toggle source

Initialize a new CvpClient object

@param [CvpClient] clnt CvpClient object @param opts [Hash] optional parameters @option opts [Fixnum] :request_timeout (30) Max seconds for a request

# File lib/cvprac/api.rb, line 68
def initialize(clnt, **opts)
  opts = { request_timeout: 30 }.merge(opts)
  @clnt = clnt
  @request_timeout = opts[:request_timeout]
end

Public Instance Methods

log(severity = Logger::INFO, msg = nil) { || ... } click to toggle source

@see #CvpClient.log

# File lib/cvprac/api.rb, line 75
def log(severity = Logger::INFO, msg = nil)
  msg = yield if block_given?
  @clnt.log(severity, msg)
end