1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/requests/cloud_watch/delete_alarms.rb
2012-06-17 11:16:29 -07:00

48 lines
1.4 KiB
Ruby

module Fog
module AWS
class CloudWatch
class Real
require 'fog/aws/parsers/cloud_watch/delete_alarms'
# Delete a list of alarms
# ==== Options
# * AlarmNames<~Array>: A list of alarms to be deleted
#
# ==== Returns
# * response<~Excon::Response>:
#
# ==== See Also
# http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_DeleteAlarms.html
#
def delete_alarms(alarm_names)
options = {}
options.merge!(AWS.indexed_param('AlarmNames.member.%d', [*alarm_names]))
request({
'Action' => 'DeleteAlarms',
:parser => Fog::Parsers::AWS::CloudWatch::DeleteAlarms.new
}.merge(options))
end
end
class Mock
def delete_alarms(alarm_names)
[*alarm_names].each do |alarm_name|
unless data[:metric_alarms].has_key?(alarm_name)
raise Fog::AWS::AutoScaling::NotFound, "The alarm '#{alarm_name}' does not exist."
end
end
[*alarm_names].each { |alarm_name| data[:metric_alarms].delete(alarm_name) }
response = Excon::Response.new
response.status = 200
response.body = {
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
}
response
end
end
end
end
end