module Cvprac::Api::Provisioning

CVP provisioning api methods

Public Instance Methods

get_configlets_by_device_id(sys_mac, **opts) click to toggle source

Get configlets by device ID

@param [String] sys_mac The netElementId (System MAC) of the device @param opts [Hash] Optional arguments @option opts [String] :queryparam Search string @option opts [Fixnum] :start_index (0) Start index for pagination @option opts [Fixnum] :end_index (0) End index for pagination

@return [Array] List of configlets applied to the device rubocop:disable Metrics/MethodLength

# File lib/cvprac/api/provisioning.rb, line 52
def get_configlets_by_device_id(sys_mac, **opts)
  opts = { queryparam: nil,
           start_index: 0,
           end_index: 0 }.merge(opts)
  log(Logger::DEBUG) do
    "get_configlets_by_device_id: #{sys_mac} with query: #{opts.inspect}"
  end
  res = @clnt.get('/provisioning/getConfigletsByNetElementId.do',
                  data: { netElementId: sys_mac,
                          queryParam: opts[:queryparam],
                          startIndex: opts[:start_index],
                          endIndex: opts[:end_index] })
  res['configletList']
end

Private Instance Methods

add_temp_action(data) click to toggle source

Add a temp action. Requires a save_topology_v2() call to take effect.

@param [Hash] data the data object to process

Ex: data = {'data': [{specific key/value pairs}]}

@return [Hash] A Topology hash rubocop:disable Metrics/MethodLength

# File lib/cvprac/api/provisioning.rb, line 77
def add_temp_action(data)
  log(Logger::DEBUG) do
    "#{__method__}: #{data.inspect}"
  end
  resp = @clnt.post('/provisioning/addTempAction.do',
                    data: { format: 'topology',
                            queryParam: nil,
                            nodeId: 'root' },
                    body: data)
  log(Logger::DEBUG) do
    "#{__method__}: response #{resp.inspect}"
  end
  resp
end
save_topology_v2(data) click to toggle source

Commits a temp action. See add_temp_action

@param [Array] data a list that contains a dict with a specific

format for the desired action. Our primary use case is for
confirming existing temp actions so we most often send an
empty list to confirm an existing temp action.
Example:

@return [Hash] Contains a status and a list of task ids created,

if any.

@example

=> {u'data': {u'status': u'success', u'taskIds': []}}
# File lib/cvprac/api/provisioning.rb, line 106
def save_topology_v2(data)
  log(Logger::DEBUG) do
    "#{__method__}: #{data.inspect}"
  end
  resp = @clnt.post('/provisioning/v2/saveTopology.do',
                    body: data)
  log(Logger::DEBUG) do
    "#{__method__}: response #{resp.inspect}"
  end
  resp
end