Module: Tapjoy::AutoscalingBootstrap::AWS::Autoscaling

Defined in:
lib/tapjoy/autoscaling_bootstrap/AWS/autoscaling.rb,
lib/tapjoy/autoscaling_bootstrap/AWS/Autoscaling/group.rb,
lib/tapjoy/autoscaling_bootstrap/AWS/Autoscaling/launch_config.rb

Overview

This class contains AWS methods for ELB

Defined Under Namespace

Modules: Group, LaunchConfig

Class Method Summary collapse

Class Method Details

.clientObject



7
8
9
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/autoscaling.rb', line 7

def client
  @client ||= Aws::AutoScaling::Client.new
end

.delete_policy(policy:) ⇒ Object



38
39
40
41
42
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/autoscaling.rb', line 38

def delete_policy(policy:)
  self.client.delete_policy(
    auto_scaling_group_name: Tapjoy::AutoscalingBootstrap.scaler_name,
    policy_name: policy)
end

.describe_policies(policy:) ⇒ Object



32
33
34
35
36
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/autoscaling.rb', line 32

def describe_policies(policy:)
  self.client.describe_policies(
    auto_scaling_group_name: Tapjoy::AutoscalingBootstrap.scaler_name,
    policy_names: [policy])
end

.put_notification_configuration(sns_base_arn:, **unused_values) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/autoscaling.rb', line 11

def put_notification_configuration(sns_base_arn:, **unused_values)
  self.client.put_notification_configuration(
    auto_scaling_group_name: Tapjoy::AutoscalingBootstrap.scaler_name,
    topic_arn: "#{sns_base_arn}:InstanceTerminated",
    notification_types: ['autoscaling:EC2_INSTANCE_TERMINATE']
  )
end

.put_scaling_policy(policy_name: policy, scaling_adjustment:, cooldown:, **unused_values) ⇒ Object

TODO Call put_scaling_policy based on whether content of YAML and describe_policies are different



21
22
23
24
25
26
27
28
29
30
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/autoscaling.rb', line 21

def put_scaling_policy(policy_name: policy, scaling_adjustment:,
  cooldown:, **unused_values)

  self.client.put_scaling_policy(policy_name: policy_name,
    auto_scaling_group_name: Tapjoy::AutoscalingBootstrap.scaler_name,
    scaling_adjustment: scaling_adjustment,
    cooldown: cooldown,
    adjustment_type: 'ChangeInCapacity'
  )[0]
end