Class: AwsRo::ElasticLoadBalancing::LoadBalancer
- Inherits:
-
Object
- Object
- AwsRo::ElasticLoadBalancing::LoadBalancer
- Extended by:
- Forwardable
- Defined in:
- lib/aws_ro/elastic_load_balancing/load_balancer.rb
Instance Attribute Summary collapse
-
#ec2_repository ⇒ Object
Returns the value of attribute ec2_repository.
-
#instance_states ⇒ Object
readonly
Returns the value of attribute instance_states.
-
#load_balancer ⇒ Object
(also: #elb)
readonly
Returns the value of attribute load_balancer.
Instance Method Summary collapse
- #health(instance_id) ⇒ Object
-
#initialize(load_balancer, ec2_repository = nil) ⇒ LoadBalancer
constructor
A new instance of LoadBalancer.
- #instance_ids ⇒ Object
- #instances ⇒ Object
- #store_instance_states(instance_states) ⇒ Object
Constructor Details
#initialize(load_balancer, ec2_repository = nil) ⇒ LoadBalancer
Returns a new instance of LoadBalancer.
13 14 15 16 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 13 def initialize(load_balancer, ec2_repository = nil) @load_balancer = load_balancer @ec2_repository = ec2_repository end |
Instance Attribute Details
#ec2_repository ⇒ Object
Returns the value of attribute ec2_repository.
9 10 11 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 9 def ec2_repository @ec2_repository end |
#instance_states ⇒ Object (readonly)
Returns the value of attribute instance_states.
8 9 10 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 8 def instance_states @instance_states end |
#load_balancer ⇒ Object (readonly) Also known as: elb
Returns the value of attribute load_balancer.
8 9 10 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 8 def load_balancer @load_balancer end |
Instance Method Details
#health(instance_id) ⇒ Object
29 30 31 32 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 29 def health(instance_id) fail "Empty instance_states." if instance_states.nil? instance_states[instance_id.to_s] end |
#instance_ids ⇒ Object
25 26 27 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 25 def instance_ids elb.instances.map(&:instance_id) end |
#instances ⇒ Object
18 19 20 21 22 23 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 18 def instances unless ec2_repository.respond_to?(:instance_ids) fail "Cannot use AwsRo::EC2::Repository" end @instances ||= elb.instances.empty? ? [] : ec2_repository.instance_ids(instance_ids) end |
#store_instance_states(instance_states) ⇒ Object
34 35 36 37 38 |
# File 'lib/aws_ro/elastic_load_balancing/load_balancer.rb', line 34 def store_instance_states(instance_states) @instance_states = instance_states.each_with_object({}) do |state, hash| hash[state.instance_id] = state end end |