Class: Opsicle::Monitor::Spy::Instances

Inherits:
Object
  • Object
show all
Includes:
Dataspyable
Defined in:
lib/opsicle/monitor/spy/instances.rb

Instance Method Summary collapse

Methods included from Dataspyable

#[], #each

Constructor Details

#initializeInstances

Returns a new instance of Instances.



10
11
12
13
# File 'lib/opsicle/monitor/spy/instances.rb', line 10

def initialize
  @instances = Opsicle::Instances.new(Opsicle::Monitor::App.client)
  refresh
end

Instance Method Details

#refreshObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/opsicle/monitor/spy/instances.rb', line 15

def refresh
  h = []

  @instances.data.each do |instance|
    # Massage the API data for our uses
    h << {
      :ec2_instance_id => instance[:ec2_instance_id],
      :hostname => instance[:hostname],
      :status => instance[:status],
      :zone => instance[:availability_zone],
      :ip => Opsicle::Instances::pretty_ip(instance)
    }
  end

  h.sort! { |a,b| a[:hostname] <=> b[:hostname] }
  @data = h
end