Parent

Class/Module Index [+]

Quicksearch

Fog::AWS::AutoScaling::Group

Public Class Methods

new(attributes={}) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 27
def initialize(attributes={})
  attributes['DefaultCooldown'] ||= 300
  attributes['DesiredCapacity'] ||= 0
  attributes['EnabledMetrics'] ||= []
  attributes['HealthCheckGracePeriod'] ||= 0
  attributes['HealthCheckType'] ||= 'EC2'
  attributes['Instances'] ||= []
  attributes['LoadBalancerNames'] ||= []
  attributes['MaxSize'] ||= 0
  attributes['MinSize'] ||= 0
  attributes['SuspendedProcesses'] ||= []
  attributes['Tags'] ||= []
  attributes['TerminationPolicies'] ||= ['Default']
  super
end

Public Instance Methods

activities() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 43
def activities
  requires :id
  data = []
  next_token = nil
  loop do
    result = service.describe_scaling_activities('AutoScalingGroupName' => id, 'NextToken' => next_token).body['DescribeScalingActivitiesResult']
    data += result['Activities']
    next_token = result['NextToken']
    break if next_token.nil?
  end
  Fog::AWS::AutoScaling::Activities.new({
    :data => data,
    :service => service,
    #:load_balancer => self
  })
end
configuration() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 60
def configuration
  requires :launch_configuration_name
  service.configurations.get(launch_configuration_name)
end
destroy(options = { :force => false }) click to toggle source

def reload

super
self

end

# File lib/fog/aws/models/auto_scaling/group.rb, line 124
def destroy(options = { :force => false })
  requires :id

  opts = {}
  opts.merge!({'ForceDelete' => true}) if options[:force]

  service.delete_auto_scaling_group(id, opts)
end
disable_metrics_collection(metrics = {}) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 65
def disable_metrics_collection(metrics = {})
  requires :id
  service.disable_metrics_collection(id, 'Metrics' => metrics)
  reload
end
enable_metrics_collection(granularity = '1Minute', metrics = {}) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 71
def enable_metrics_collection(granularity = '1Minute', metrics = {})
  requires :id
  service.enable_metrics_collection(id, granularity, 'Metrics' => metrics)
  reload
end
instances() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 77
def instances
  Fog::AWS::AutoScaling::Instances.new(:service => service).load(attributes[:instances])
end
instances_in_service() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 81
def instances_in_service
  attributes[:instances].select {|hash| hash['LifecycleState'] == 'InService'}.map {|hash| hash['InstanceId']}
end
instances_out_service() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 85
def instances_out_service
  attributes[:instances].select {|hash| hash['LifecycleState'] == 'OutOfService'}.map {|hash| hash['InstanceId']}
end
options() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 139
def options
  ret = Hash[self.class.aliases.map { |key, value| [key, send(value)] }]
  ret.delete_if { |key, value| value.nil? }
  ret
end
ready?() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 101
def ready?
  # Is this useful?
  #instances_in_service.length == desired_capacity
  #instances_in_service.length >= min_size
  true
end
resume_processes(processes = []) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 89
def resume_processes(processes = [])
  requires :id
  service.resume_processes(id, 'ScalingProcesses' => processes)
  reload
end
save() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 108
def save
  requires :id
  requires :availability_zones
  requires :launch_configuration_name
  requires :max_size
  requires :min_size

  service.create_auto_scaling_group(id, availability_zones, launch_configuration_name, max_size, min_size, options)
  reload
end
suspend_processes(processes = []) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 95
def suspend_processes(processes = [])
  requires :id
  service.suspend_processes(id, 'ScalingProcesses' => processes)
  reload
end
update() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 133
def update
  requires :id
  service.update_auto_scaling_group(id, options)
  reload
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.