# 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
# 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
# File lib/fog/aws/models/auto_scaling/group.rb, line 60 def configuration requires :launch_configuration_name service.configurations.get(launch_configuration_name) end
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
# 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
# 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
# File lib/fog/aws/models/auto_scaling/group.rb, line 77 def instances Fog::AWS::AutoScaling::Instances.new(:service => service).load(attributes[:instances]) end
# 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
# 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
# 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
# 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
# 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
# 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
Generated with the Darkfish Rdoc Generator 2.