Parent

Files

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 26
def initialize(attributes={})
  attributes['DefaultCooldown'] ||= 0
  attributes['DesiredCapacity'] ||= 0
  attributes['EnabledMetrics'] ||= []
  attributes['HealthCheckGracePeriod'] ||= 0
  attributes['HealthCheckType'] ||= 'EC2'
  attributes['Instances'] ||= []
  attributes['LoadBalancerNames'] ||= []
  attributes['MaxSize'] ||= 0
  attributes['MinSize'] ||= 0
  attributes['SuspendedProcesses'] ||= []
  super
end

Public Instance Methods

activities() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 40
def activities
  requires :id
  data = []
  next_token = nil
  loop do
    result = connection.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,
    :connection => connection,
    #:load_balancer => self
  })
end
configuration() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 57
def configuration
  requires :launch_configuration_name
  connection.configurations.get(launch_configuration_name)
end
destroy() click to toggle source

def reload

super
self

end

# File lib/fog/aws/models/auto_scaling/group.rb, line 124
def destroy
  requires :id
  connection.delete_auto_scaling_group(id)
end
disable_metrics_collection(metrics = {}) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 62
def disable_metrics_collection(metrics = {})
  requires :id
  connection.disable_metrics_collection(id, 'Metrics' => metrics)
  reload
end
enable_metrics_collection(metrics = {}) click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 68
def enable_metrics_collection(metrics = {})
  requires :id
  connection.enable_metrics_collection(id, 'Metrics' => metrics)
  reload
end
instances() click to toggle source
# File lib/fog/aws/models/auto_scaling/group.rb, line 74
def instances
  Fog::AWS::AutoScaling::Instances.new({
    :data => attributes['Instances'],
    :connection => connection
  })
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
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
  connection.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

  connection.create_auto_scaling_group(id, availability_zones, launch_configuration_name, max_size, min_size)
  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
  connection.suspend_processes(id, 'ScalingProcesses' => processes)
  reload
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.