class Fog::Monitoring::Rackspace::Entity

Public Instance Methods

alarms() click to toggle source
# File lib/rackspace-monitoring/monitoring/models/entity.rb, line 56
def alarms
  @alarms ||= begin
    Fog::Monitoring::Rackspace::Alarms.new(
      :entity     => self,
      :service => service
    )
  end
end
checks() click to toggle source
# File lib/rackspace-monitoring/monitoring/models/entity.rb, line 47
def checks
  @checks ||= begin
    Fog::Monitoring::Rackspace::Checks.new(
      :entity     => self,
      :service => service
    )
  end
end
destroy() click to toggle source
# File lib/rackspace-monitoring/monitoring/models/entity.rb, line 65
def destroy
  requires :id
  service.delete_entity(id)
end
prep() click to toggle source
# File lib/rackspace-monitoring/monitoring/models/entity.rb, line 18
def prep
  options = {
    'label'       => label,
    'metadata'    => metadata,
    'ip_addresses'=> ip_addresses,
    'agent_id'    => agent_id
  }
  options = options.reject {|key, value| value.nil?}
  options
end
save() click to toggle source
# File lib/rackspace-monitoring/monitoring/models/entity.rb, line 29
def save
  options = prep
  if identity then
    data = service.update_entity(identity, options)
  else
    data = service.create_entity(options)
    self.identity = data.data[:headers]['X-Object-ID']
  end
  data = service.get_entity(identity)
  self.label = data.data[:body]['label']
  self.metadata = data.data[:body]['metadata']
  self.ip_addresses = data.data[:body]['ip_addresses']
  self.agent_id = data.data[:body]['agent_id']
  self.managed = data.data[:body]['managed']
  self.uri = data.data[:body]['uri']
  true
end