1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/rackspace/models/monitoring/entities.rb
Matt Darby 72e52e70be Revert "Moving Rackspace logic to fog-rackspace"
This reverts commit d6ecb19d24.

Conflicts:
	fog.gemspec
2014-12-10 11:30:34 -05:00

47 lines
1.1 KiB
Ruby

require 'fog/core/collection'
require 'fog/rackspace/models/monitoring/entity'
require 'fog/rackspace/models/monitoring/check'
module Fog
module Rackspace
class Monitoring
class Entities < Fog::Collection
model Fog::Rackspace::Monitoring::Entity
attribute :marker
def all(options={})
data = service.list_entities(options).body
self.marker = data['metadata']['next_marker']
load(data['values'])
end
def get(entity_id)
data = service.get_entity(entity_id).body
new(data)
rescue Fog::Rackspace::Monitoring::NotFound
nil
end
def overview(options={})
body = service.list_overview(options).body
self.marker = body['metadata']['next_marker']
load_all(body['values'])
end
def load_all(objects)
clear
for object in objects
en = new(object['entity'])
self << en
en.checks.load(object['checks'])
en.alarms.load(object['alarms'])
end
self
end
end
end
end
end