Class: ScaleGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/scale_group.rb

Instance Method Summary collapse

Constructor Details

#initialize(group_name) ⇒ ScaleGroup

Returns a new instance of ScaleGroup.



7
8
9
# File 'lib/aws/scale_group.rb', line 7

def initialize group_name
  @delegate = AWS::AutoScaling::Group.new group_name
end

Instance Method Details

#desired_capacityObject



25
26
27
# File 'lib/aws/scale_group.rb', line 25

def desired_capacity 
  @delegate.desired_capacity
end

#health_load_balancer_instancesObject



34
35
36
# File 'lib/aws/scale_group.rb', line 34

def health_load_balancer_instances
  load_balancers.map{|lb| lb.healthy_instances}.reduce{|a, b| a + b}
end

#instancesObject



11
12
13
14
15
# File 'lib/aws/scale_group.rb', line 11

def instances
  @delegate.auto_scaling_instances.map do |instance|
    ScaleInstance.new instance.id, self
  end
end

#load_balancersObject



38
39
40
41
42
# File 'lib/aws/scale_group.rb', line 38

def load_balancers
  @delegate.load_balancer_names.map do |lb_name|
    ScaleLoadBalancer.new lb_name
  end
end

#max_sizeObject



21
22
23
# File 'lib/aws/scale_group.rb', line 21

def max_size
  @delegate.max_size
end

#min_sizeObject



17
18
19
# File 'lib/aws/scale_group.rb', line 17

def min_size
  @delegate.min_size
end

#update_size(new_min_size, new_max_size) ⇒ Object



29
30
31
32
# File 'lib/aws/scale_group.rb', line 29

def update_size new_min_size, new_max_size
  options = {:min_size => new_min_size, :max_size => new_max_size}
  @delegate.update options
end