class AWS::ELB::InstanceCollection
def [] instance_id
-
(EC2::Instance)
- Return an EC2::Instance object with additional
def [] instance_id load_balancer = self.load_balancer instance = EC2.new(:config => config).instances[instance_id] Core::MetaUtils.extend_method(instance, :load_balancer) do load_balancer end Core::MetaUtils.extend_method(instance, :elb_health) do health = load_balancer.instances.health(id).first health.delete(:instance) health end Core::MetaUtils.extend_method(instance, :remove_from_load_balancer) do load_balancer.instances.deregister(self) end instance end
def _each_item options = {}
def _each_item options = {} load_balancer.instance_descriptions.each do |instance| instance = self[instance.instance_id] yield(instance) end end
def deregister *instances
def deregister *instances client.deregister_instances_from_load_balancer( :load_balancer_name => load_balancer.name, :instances => instance_ids(instances)) nil end
def health *instances
-
(Array
- Returns an array of hashes. Each hash represents)
Parameters:
-
instances
(String, EC2::Instance
) -- A list of instances to
def health *instances instance_ids = instance_ids(instances) opts = {} opts[:load_balancer_name] = load_balancer.name opts[:instances] = instance_ids unless instance_ids.empty? client.describe_instance_health(opts).instance_states.map do |state| { :instance => self[state.instance_id], :description => state.description, :state => state.state, :reason_code => state.reason_code, } end end
def initialize load_balancer, options = {}
def initialize load_balancer, options = {} @load_balancer = load_balancer super end
def instance_ids instances
def instance_ids instances instances.flatten.collect do |instance| case instance when EC2::Instance then { :instance_id => instance.id } else { :instance_id => instance } end end end
def register *instances
def register *instances client.register_instances_with_load_balancer( :load_balancer_name => load_balancer.name, :instances => instance_ids(instances)) nil end