class Asg::Rebooter::Configuration::AutoScalingGroup
Constants
- ASG_MIN_SIZE_DELTA
- AZREBALANCE
Attributes
asg[R]
original_min_size[R]
original_suspended_processes[R]
Public Class Methods
new(asg)
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 10 def initialize(asg) @asg = asg set_original_values end
Public Instance Methods
prepare()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 16 def prepare suspend_az_rebalance decrease_min_size end
restore()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 21 def restore restore_az_rebalance restore_min_size end
Private Instance Methods
adjust_az_rebalance?()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 63 def adjust_az_rebalance? !original_suspended_processes.include?(AZREBALANCE) end
adjust_min_size?()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 59 def adjust_min_size? @original_min_size > 0 end
decrease_min_size()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 45 def decrease_min_size return unless adjust_min_size? new_min_size = @original_min_size - ASG_MIN_SIZE_DELTA asg.update_min_size(new_min_size) end
restore_az_rebalance()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 39 def restore_az_rebalance return unless adjust_az_rebalance? asg.resume_processes([AZREBALANCE]) end
restore_min_size()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 53 def restore_min_size return unless adjust_min_size? asg.update_min_size(original_min_size) end
set_original_values()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 28 def set_original_values @original_min_size = asg.min_size @original_suspended_processes = asg.suspended_processes end
suspend_az_rebalance()
click to toggle source
# File lib/asg/rebooter/configuration/auto_scaling_group.rb, line 33 def suspend_az_rebalance return unless adjust_az_rebalance? asg.suspend_processes([AZREBALANCE]) end