module Cumulus::AutoScaling

Public Class Methods

groups() click to toggle source

Public: Lazily load auto scaling groups

# File lib/autoscaling/AutoScaling.rb, line 25
def groups
  @groups = init_groups
end
instance_ids() click to toggle source

Public

Returns an array of instance ids that are in any autoscaling groups

# File lib/autoscaling/AutoScaling.rb, line 13
def instance_ids
  @instance_ids ||= groups.map { |gr| gr.instances.map { |i| i.instance_id } }.flatten
end
named_groups() click to toggle source

Public

Returns a Hash of autoscaling group name to Aws::AutoScaling::Types::AutoScalingGroup

# File lib/autoscaling/AutoScaling.rb, line 20
def named_groups
  @named_groups ||= Hash[groups.map { |group| [group.auto_scaling_group_name, group] }]
end

Private Class Methods

init_groups() click to toggle source

Internal: Load all auto scaling groups

Returns an array of Aws::AutoScaling::Types::AutoScalingGroup

# File lib/autoscaling/AutoScaling.rb, line 34
def init_groups
  @@client.describe_auto_scaling_groups.auto_scaling_groups
end