Class: Tapjoy::AutoscalingBootstrap::Autoscaling::Policy
- Inherits:
-
Object
- Object
- Tapjoy::AutoscalingBootstrap::Autoscaling::Policy
- Defined in:
- lib/tapjoy/autoscaling_bootstrap/autoscaling/policy.rb
Overview
Class for Autoscaling policies
Instance Method Summary collapse
-
#create(policy, scale) ⇒ Object
Create autoscaling policy.
-
#delete(policy) ⇒ Object
Delete scaling policies.
-
#initialize ⇒ Policy
constructor
Initialize the class.
Constructor Details
#initialize ⇒ Policy
Initialize the class
8 9 10 11 |
# File 'lib/tapjoy/autoscaling_bootstrap/autoscaling/policy.rb', line 8 def initialize @scaler_name = Tapjoy::AutoscalingBootstrap.scaler_name @group = Tapjoy::AutoscalingBootstrap.group end |
Instance Method Details
#create(policy, scale) ⇒ Object
Create autoscaling policy
14 15 16 17 18 |
# File 'lib/tapjoy/autoscaling_bootstrap/autoscaling/policy.rb', line 14 def create(policy, scale) fail Tapjoy::AutoscalingBootstrap::Errors::InvalidAutoscalingGroup unless Tapjoy::AutoscalingBootstrap.group.exists Tapjoy::AutoscalingBootstrap::AWS::Autoscaling.put_scaling_policy( policy_name: policy, **scale) end |
#delete(policy) ⇒ Object
Delete scaling policies
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/tapjoy/autoscaling_bootstrap/autoscaling/policy.rb', line 21 def delete(policy) return unless @group.exists if Tapjoy::AutoscalingBootstrap::AWS::Autoscaling.describe_policies( policy: policy)[0].length > 0 puts "Deleting policy: #{policy}" Tapjoy::AutoscalingBootstrap::AWS::Autoscaling.delete_policy( policy: policy) else STDERR.puts "'#{policy}' doesn't exist. Skipping..." end end |