module Cvprac::Api::Provisioning
CVP provisioning api methods
Public Instance Methods
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 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
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