Sha256: 3f023054ff3eeb62e5811c0d8710d6c97b0f98ae019b64a0c8fd194e6cae51f0
Contents?: true
Size: 1.53 KB
Versions: 87
Compression:
Stored size: 1.53 KB
Contents
require 'fog/core/model' module Fog module AWS class AutoScaling class Policy < Fog::Model identity :id, :aliases => 'PolicyName' attribute :arn, :aliases => 'PolicyARN' attribute :adjustment_type, :aliases => 'AdjustmentType' attribute :alarms, :aliases => 'Alarms' attribute :auto_scaling_group_name, :aliases => 'AutoScalingGroupName' attribute :cooldown, :aliases => 'Cooldown' attribute :min_adjustment_step, :aliases => 'MinAdjustmentStep' attribute :scaling_adjustment, :aliases => 'ScalingAdjustment' def initialize(attributes) attributes['AdjustmentType'] ||= 'ChangeInCapacity' attributes['ScalingAdjustment'] ||= 1 super end # TODO: implement #alarms # TODO: implement #auto_scaling_group def save requires :id requires :adjustment_type requires :auto_scaling_group_name requires :scaling_adjustment options = Hash[self.class.aliases.map { |key, value| [key, send(value)] }] options.delete_if { |key, value| value.nil? } service.put_scaling_policy(adjustment_type, auto_scaling_group_name, id, scaling_adjustment, options) reload end def destroy requires :id requires :auto_scaling_group_name service.delete_policy(auto_scaling_group_name, id) end end end end end
Version data entries
87 entries across 87 versions & 10 rubygems