Class: OpenStax::Aws::AutoScalingGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/openstax/aws/auto_scaling_group.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, region:) ⇒ AutoScalingGroup

Returns a new instance of AutoScalingGroup.



7
8
9
10
11
12
# File 'lib/openstax/aws/auto_scaling_group.rb', line 7

def initialize(name:, region:)
  @raw_asg = Aws::AutoScaling::AutoScalingGroup.new(
    name: name,
    client: Aws::AutoScaling::Client.new(region: region)
  )
end

Instance Attribute Details

#raw_asgObject (readonly)

Returns the value of attribute raw_asg.



3
4
5
# File 'lib/openstax/aws/auto_scaling_group.rb', line 3

def raw_asg
  @raw_asg
end

Instance Method Details

#desired_capacityObject



24
25
26
# File 'lib/openstax/aws/auto_scaling_group.rb', line 24

def desired_capacity
  raw_asg.desired_capacity
end

#increase_desired_capacity(by:) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/openstax/aws/auto_scaling_group.rb', line 14

def increase_desired_capacity(by:)
  # take the smaller of max size or desired+by (or this call raises an exception)
  increase_to = [raw_asg.max_size, raw_asg.desired_capacity + by].min

  raw_asg.set_desired_capacity(
    {
      desired_capacity: increase_to
    })
end