class AWS::AutoScaling::GroupCollection
Public Instance Methods
[](name)
click to toggle source
@param [String] name The name of the Auto Scaling group. @return [Group]
# File lib/aws/auto_scaling/group_collection.rb, line 66 def [] name Group.new(name, :config => config) end
create(name, options = {})
click to toggle source
Creates an Auto Scaling Group.
group = auto_scaling.groups.create('group-name', :launch_configuration => 'launch-config-name', :availability_zones => %Q(us-west-2a us-west-2b), :min_size => 1, :max_size => 4)
@param [String] name The name of the Auto Scaling group.
Must be unique within the scope of your AWS account.
@param [Hash] options
@option (see AWS::AutoScaling::GroupOptions#group_options)
@option options [Array<ELB::LoadBalancer>,Array<String>] :load_balancers
A list of load balancers to use. This can be an array of {ELB::LoadBalancer} objects or an array of load balancer names.
@return [Group]
# File lib/aws/auto_scaling/group_collection.rb, line 43 def create name, options = {} unless options[:launch_configuration] raise ArgumentError, 'missing required option :launch_configuration' end group_opts = group_options(options) group_opts[:auto_scaling_group_name] = name if balancers = options[:load_balancers] group_opts[:load_balancer_names] = balancers.collect do |balancer| balancer.is_a?(ELB::LoadBalancer) ? balancer.name : balancer end end client.create_auto_scaling_group(group_opts) self[name] end
Protected Instance Methods
_each_item(next_token, limit, options = {}) { |group| ... }
click to toggle source
# File lib/aws/auto_scaling/group_collection.rb, line 72 def _each_item next_token, limit, options = {}, &block options[:next_token] = next_token if next_token options[:max_records] = limit if limit resp = client.describe_auto_scaling_groups(options) resp.auto_scaling_groups.each do |details| group = Group.new_from( :describe_auto_scaling_groups, details, details.auto_scaling_group_name, :config => config) yield(group) end resp.data[:next_token] end