class MiqVimEventHistoryCollector

Attributes

invObj[R]

Public Class Methods

new(invObj, eventFilterSpec = nil, pgSize = 20) click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 8
def initialize(invObj, eventFilterSpec = nil, pgSize = 20)
  @invObj                 = invObj
  @sic                    = invObj.sic
  @pgSize                 = pgSize

  @eventFilterSpec = eventFilterSpec || VimHash.new("EventFilterSpec")

  @eventHistoryCollector = @invObj.createCollectorForEvents(@sic.eventManager, @eventFilterSpec)
  @invObj.setCollectorPageSize(@eventHistoryCollector, @pgSize)
end

Public Instance Methods

events(direction = :forward, maxCount = @pgSize) { |event| ... } click to toggle source

Helper method that yields all requested events

# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 57
def events(direction = :forward, maxCount = @pgSize)
  set_method, next_method = (direction == :forward) ? [:rewind, :readNext] : [:reset, :readPrevious]
  send(set_method)

  readNext if direction == :reverse   # Hack to fix issue with VC setting to first page of events

  while (events_page = send(next_method, maxCount))
    events_page.each { |event| yield(event) }
  end
end
pageSize() click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 46
def pageSize
  @pgSize
end
pageSize=(val) click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 50
def pageSize=(val)
  raise "MiqVimEventHistoryCollector.pageSize=: collector instance has been released" unless @eventHistoryCollector
  @invObj.setCollectorPageSize(@eventHistoryCollector, val)
  @pgSize = val
end
readNext(maxCount = @pgSize) click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 26
def readNext(maxCount = @pgSize)
  raise "MiqVimEventHistoryCollector.readNext: collector instance has been released" unless @eventHistoryCollector
  @invObj.readNextEvents(@eventHistoryCollector, maxCount)
end
readPrevious(maxCount = @pgSize) click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 31
def readPrevious(maxCount = @pgSize)
  raise "MiqVimEventHistoryCollector.readPrevious: collector instance has been released" unless @eventHistoryCollector
  @invObj.readPreviousEvents(@eventHistoryCollector, maxCount)
end
release() click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 19
def release
  return unless @eventHistoryCollector
  logger.info "MiqVimEventHistoryCollector.release: destroying #{@eventHistoryCollector}"
  @invObj.destroyCollector(@eventHistoryCollector)
  @eventHistoryCollector = nil
end
reset() click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 36
def reset
  raise "MiqVimEventHistoryCollector.reset: collector instance has been released" unless @eventHistoryCollector
  @invObj.resetCollector(@eventHistoryCollector)
end
rewind() click to toggle source
# File lib/VMwareWebService/MiqVimEventHistoryCollector.rb, line 41
def rewind
  raise "MiqVimEventHistoryCollector.rewind: collector instance has been released" unless @eventHistoryCollector
  @invObj.rewindCollector(@eventHistoryCollector)
end