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/rackspace/requests/auto_scale/update_webhook.rb

44 lines
No EOL
1.1 KiB
Ruby

module Fog
module Rackspace
class AutoScale
class Real
def update_webhook(group_id, policy_id, webhook_id, options)
body = options
request(
:expects => [204],
:method => 'PUT',
:path => "groups/#{group_id}/policies/#{policy_id}/webhooks/#{webhook_id}",
:body => Fog::JSON.encode(body)
)
end
end
class Mock
def update_webhook(group_id, policy_id, webhook_id, options)
group = self.data[:autoscale_groups][group_id]
if group.nil?
raise Fog::Rackspace::AutoScale::NotFound
end
policy = group['scalingPolicies'].detect { |p| p["id"] == policy_id }
if policy.nil?
raise Fog::Rackspace::AutoScale::NotFound
end
webhook = policy['webhooks'].detect { |w| w['id'] == webhook_id }
if webhook.nil?
raise Fog::Rackspace::AutoScale::NotFound
end
webhook.merge(options)
response(:body => webhook)
end
end
end
end
end