Class: CvpApi

Inherits:
Object
  • Object
show all
Includes:
Cvprac::Api::Configlet, Cvprac::Api::Info, Cvprac::Api::Inventory, Cvprac::Api::Provisioning, Cvprac::Api::Task
Defined in:
lib/cvprac/api.rb

Overview

Abstract methods for interacting with Arista CloudVision

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

Examples:

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:

Instance Method Summary collapse

Methods included from Cvprac::Api::Task

#add_note_to_task, #execute_task, #get_pending_tasks_by_device, #get_task_by_id

Methods included from Cvprac::Api::Inventory

#get_device_by_name

Methods included from Cvprac::Api::Provisioning

#get_configlets_by_device_id

Methods included from Cvprac::Api::Configlet

#add_configlet, #apply_configlets_to_device, #delete_configlet, #get_configlet_by_name, #get_configlets, #get_devices_by_configlet_name, #remove_configlets_from_device, #update_configlet

Methods included from Cvprac::Api::Info

#get_cvp_info

Constructor Details

#initialize(clnt, **opts) ⇒ CvpApi

Initialize a new CvpClient object

Parameters:

  • clnt (CvpClient)

    CvpClient object

  • opts (Hash)

    optional parameters

Options Hash (**opts):

  • :request_timeout (Fixnum) — default: 30

    Max seconds for a request



68
69
70
71
72
# 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

Instance Method Details

#log(severity = Logger::INFO, msg = nil) ⇒ Object

See Also:



75
76
77
78
# File 'lib/cvprac/api.rb', line 75

def log(severity = Logger::INFO, msg = nil)
  msg = yield if block_given?
  @clnt.log(severity, msg)
end