class Opsicle::Instances
Attributes
client[RW]
client[RW]
Public Class Methods
find_by_eip(client)
click to toggle source
# File lib/opsicle/instances.rb, line 37 def self.find_by_eip(client) instances = new(client).data.reject { |instance| instance[:elastic_ip] == nil } instances.empty? ? nil : instances end
find_by_ip(client, ips)
click to toggle source
# File lib/opsicle/instances.rb, line 25 def self.find_by_ip(client, ips) instances = new(client).data.reject { |instance| instances_matching_ips(instance, ips) } instances.empty? ? nil : instances end
new(client)
click to toggle source
# File lib/opsicle/instances.rb, line 9 def initialize(client) @client = client end
pretty_ip(instance)
click to toggle source
# File lib/opsicle/instances.rb, line 17 def self.pretty_ip(instance) instance[:elastic_ip] ? "#{instance[:elastic_ip]} EIP" : instance[:public_ip] end
private_ip(instance)
click to toggle source
# File lib/opsicle/instances.rb, line 21 def self.private_ip(instance) instance[:private_ip] end
Private Class Methods
instances_matching_ips(instance, ip_addresses)
click to toggle source
# File lib/opsicle/instances.rb, line 30 def self.instances_matching_ips(instance, ip_addresses) instance_ips = [instance[:public_ip], instance[:elastic_ip], instance[:private_ip]].compact (ip_addresses & instance_ips).empty? end
Public Instance Methods
data()
click to toggle source
# File lib/opsicle/instances.rb, line 13 def data instances(reload: true) end
Private Instance Methods
instances(options={})
click to toggle source
# File lib/opsicle/instances.rb, line 42 def instances(options={}) # Only call the API again if you need to @instances = nil if options[:reload] @instances ||= client.api_call('describe_instances', :stack_id => client.config.opsworks_config[:stack_id] )[:instances] end