def create_or_update_scaling_trigger(trigger_name, auto_scaling_group_name, options={})
request_hash = { 'TriggerName' => trigger_name,
'AutoScalingGroupName' => auto_scaling_group_name,
'MeasureName' => options[:measure_name],
'Statistic' => options[:statistic].to_s.capitalize,
'Period' => options[:period],
'LowerThreshold' => options[:lower_threshold],
'LowerBreachScaleIncrement' => options[:lower_breach_scale_increment],
'UpperThreshold' => options[:upper_threshold],
'UpperBreachScaleIncrement' => options[:upper_breach_scale_increment],
'BreachDuration' => options[:breach_duration] }
request_hash['Unit'] = options[:unit] if options[:unit]
request_hash['CustomUnit'] = options[:custom_unit] if options[:custom_unit]
dimensions = []
(options[:dimensions] || {}).each do |key, values|
Array(values).each { |value| dimensions << [key, value] }
end
request_hash.merge!(amazonize_list(['Dimensions.member.?.Name', 'Dimensions.member.?.Value'], dimensions))
link = generate_request("CreateOrUpdateScalingTrigger", request_hash)
request_info(link, RightHttp2xxParser.new(:logger => @logger))
end